Привет, моя проблема в том, что это может быть полезно для других людей. У меня есть заказ с экземпляром экземпляра, у этого заказа есть несколько билетов с различным номером ticket_number как sr_num, но все они имеют одинаковый идентификатор экземпляра службы. Билет может быть на разных этапах, так как открытый закрыт или находится в процессе, Предположим, что есть 4 билета заказа и есть много заказов с 4 или менее билетами Я нахожу все открытые билеты одного типа билетов, получаю его service_instance_id и соответствующие он, найдите другие билеты, которые открыты для этого заказа.sql query help pivot
Используя следующий запрос, я могу найти его, но все это происходит ниже друг друга, я хочу, чтобы он был определен для конкретного заказа, и вся информация о 4 билетах должна быть в одной строке, если конкретный билет закрыт для этого заказа, оно не должно отображаться
select a.sr_num Acceptance_TT, a.act_open_dt Acceptance_Date, e.login Acceptance_Owner , c.sr_area, c.sr_num, c.act_open_dt, d.login, case when c.sr_stat_id in ('Closed','Cancelled') then '-' else c.sr_stat_id end TT_Status
from
siebel.s_srv_req a -- GOC TT
,siebel.s_order_item b -- ServiceInstanceID
,siebel.s_srv_req c -- Project Management
,siebel.s_user d -- Owner
,siebel.s_user e -- GOC Owner
where
a.sr_area = 'GOC Acceptance' and a.sr_num='20130601-3-28'
and a.sr_stat_id in ('Open - GOC')
and a.x_service_instance_id = b.row_id
and c.x_service_instance_id = b.row_id
and c.sr_area = 'Project Management'
--and c.sr_stat_id not in ('Closed','Cancelled')
and c.owner_emp_id = d.row_id
and a.owner_emp_id = e.row_id PM 5:39
UNION all
select a.sr_num Acceptance_TT, a.act_open_dt Acceptance_Date, e.login Acceptance_Owner, c.sr_area, c.sr_num, c.act_open_dt, d.login, case when c.sr_stat_id in ('Closed','Cancelled') then '-' else c.sr_stat_id end TT_Status
from
siebel.s_srv_req a -- GOC TT
,siebel.s_order_item b -- ServiceInstanceID
,siebel.s_srv_req c -- Provisioning
,siebel.s_user d -- Owner
,siebel.s_user e -- GOC Owner
where
a.sr_area = 'GOC Acceptance' and a.sr_num='20130601-3-28'
and a.sr_stat_id in ('Open - GOC')
and a.x_service_instance_id = b.row_id
and c.x_service_instance_id = b.row_id
and c.sr_area = 'Provisioning'
--and c.sr_stat_id not in ('Closed','Cancelled')
and c.owner_emp_id = d.row_id
and a.owner_emp_id = e.row_id PM 5:39
UNION all
select a.sr_num Acceptance_TT, a.act_open_dt Acceptance_Date, e.login Acceptance_Owner, c.sr_area, c.sr_num, c.act_open_dt, d.login, case when c.sr_stat_id in ('Closed','Cancelled') then '-' else c.sr_stat_id end TT_Status
from
siebel.s_srv_req a -- GOC TT
,siebel.s_order_item b -- ServiceInstanceID
,siebel.s_srv_req c -- CE Implementation
,siebel.s_user d -- Owner
,siebel.s_user e -- GOC Owner
where
a.sr_area = 'GOC Acceptance' and a.sr_num='20130601-3-28'
and a.sr_stat_id in ('Open - GOC')
and a.x_service_instance_id = b.row_id
and c.x_service_instance_id = b.row_id
and c.sr_area = 'CE Implementation'
--and c.sr_stat_id not in ('Closed','Cancelled')
and c.owner_emp_id = d.row_id
and a.owner_emp_id = e.row_id
Что ваша версия базы данных? Я вижу, что 'siebel.s_srv_req.sr_area' является решающим фактором для конкретной группы билетов, сколько разных значений имеет этот столбец и чем они отличаются от« CE Implementation »,« Provisioning »и« Project Management »? – San
№ заказа - 123 экземпляра службы Идентификатор = x1 ticket_no = экземпляр 7 службы реали ID = x1 CE ticket_no = экземпляр 8 Service ID = x1 Provisioning ticket_no = экземпляр 9 Service ID = x1 PM – user3148470
версия базы данных 11g coloumn имеет много различных значений, но m интересуется только этими ce, Pm, pro .... проверить конкретный приемный билет GOC, чтобы найти его открытый, если открыть статус поиска CE, PM, PRo, иначе следующий экземпляр службы – user3148470