我可以加入这两个oracle查询吗?

时间:2014-08-20 12:04:13

标签: sql oracle

我可以加入这两个oracle查询来提供我想要的输出:

| RLI1 | RLI2 | Catalog | Os_type |
|_ _ _ | _ _ _| _ _ _ _ | _ _ _ _ |
|_ _ _ | _ _ _| _ _ _ _ | _ _ _ _ |

我无权更改数据库中的任何内容,因为它的远程,我只提取4个数据,但有两个查询。

所以1.这可能是2.替代品吗?

SELECT 
rli.resevation_id        AS "RLI1",
rli.reservation_ln_id    AS "RLI2"
FROM 
UCS_USER.RESOURCETYPES RT,
UCS_USER.MASTERRESOURCETYPES MRT,
UCS_USER.RESERVATIONLINEITEMS RLI,
UCS_USER.RESERVATION R,
UCS_USER.CUSTOMER C,
UCS_USER.STATUS_CODE S,
UCS_USER.orchestrationtasksstatus t,
UCS_USER.state_code code,
UCS_USER.ORCHESTRATIONPROCESS o,
UCS_USER.ORCHESTRATIONTASKS tasks,
UCS_USER.MASTER_ORCHESTRATION_TASKS mot

WHERE 
RLI.RESEVATION_ID        = R.RESEVATION_ID
AND r.customer_id              = c.customer_id
AND RT.MASTER_RESOURCE_TYPE_ID = MRT.MASTER_RESOURCE_TYPE_ID
AND RLI.RESOURCE_TYPE_ID       = RT.RESOURCE_TYPE_ID
AND RLI.STATUS                 = S.STATUS_ID
AND RLI.reservation_ln_id      =O.reservation_ln_id
AND o.process_id               = t.process_id
AND t.state_id                 = code.state_id
AND o.orch_type_id             = tasks.orch_type_id
AND tasks.master_orchtask_id   =mot.master_orchtask_id
AND o.process_id               = t.process_id
AND t.state_id                 = code.state_id
AND t.task_id                  =tasks.task_id
and o.process_id = (select max(op.process_id) from UCS_USER.orchestrationprocess op  where op.reservation_ln_id = RLI.reservation_ln_id)
AND rli.DATA_CENTER in  ('ATC01','SYZ01','TUBCDC1','BLX01','SPH01','EBM01','TLJ02','CA001','IDA01- 03','LL139','NL195','IT100','SP102','SG181')
AND (c.name not like '%Test%' AND c.name not like '00 CPE CUSTOMER' AND (c.name not like '%UAT%'  OR c.name = 'ECS SAP UAT'))
AND (s.status_name LIKE '%Clean-up Underway%'
OR s.status_name like '%Provisioning Underway%')
AND (code.state_name LIKE '%Errors%'
OR code.state_name LIKE '%failure%')
ORDER BY t.process_id DESC

现在我想将它传递给查询2的最后一行:

SELECT 
ci.catalog_item_name AS catalog_item,lnop.value AS os_type, 
FROM
UCS_USER.ln_options_at_readytosignoff lnop,UCS_USER.reservationlineitems rli,UCS_USER.order_item oi,UCS_USER.catalog_item ci
WHERE 
lnop.quote_ln_id=rli.quote_ln_id
and rli.order_item_id=oi.order_item_id
and oi.catalog_item_id = ci.catalog_item_id
and lnop.option_name like '%Type%'
and rli.ln_type=1
and rli.reservation_ln_id in(select a.reservation_ln_id from reservationlineitems a
left join reservationlineitems b on a.reservation_ln_id = b.depends_on
where (a.reservation_ln_id =RLI1 or b.reservation_ln_id=RLI2))

我想将值(rli1和rli2)从查询1传递到“&l​​t;>”:

where (a.reservation_ln_id = < query1.rli1 > or b.reservation_ln_id= < query1.rli2 >))

1 个答案:

答案 0 :(得分:0)

子查询Subquery Syntax

SELECT value1, value2, subquery.rli1, subquery.rli2 FROM query2,
( SELECT rli1,rli2 FROM query1) subquery
WHERE value1 = subquery.rli1 and value2 = subquery.rli2
相关问题