Oracle 3个查询的1个结果集?

Oracle 3个查询的1个结果集?,oracle,join,Oracle,Join,我想让这件事发生,真是束手无策。目前我有3个独立的查询。出于自动化目的,我需要在一个输出中获得这三个查询的结果,我似乎无法正确地将它们连接起来以获得预期的结果 问题1: SELECT OH.EXTN_HOST_ORDER_REF, OL.EXTN_HOST_ORDER_LINE_REF, OL.ORIGINAL_ORDERED_QTY, OL.EXTN_TENDER_QUANTITY, OL.EXTN_CUM_PICK_QTY,

我想让这件事发生,真是束手无策。目前我有3个独立的查询。出于自动化目的,我需要在一个输出中获得这三个查询的结果,我似乎无法正确地将它们连接起来以获得预期的结果

问题1:

SELECT OH.EXTN_HOST_ORDER_REF,
       OL.EXTN_HOST_ORDER_LINE_REF,
       OL.ORIGINAL_ORDERED_QTY,
       OL.EXTN_TENDER_QUANTITY,
       OL.EXTN_CUM_PICK_QTY,
       OL.SHIPPED_QUANTITY,
       OL.EXTN_REFUND_QTY
FROM   YFS_ORDER_HEADER OH,
       YFS_ORDER_LINE OL
WHERE  OH.ORDER_HEADER_KEY = OL.ORDER_HEADER_KEY
       AND OH.DOCUMENT_TYPE = '0001'
       AND OH.EXTN_HOST_ORDER_REF = 'xxxxxxxxxxx'
ORDER  BY PL.EXTN_HOST_ORDER_LINE_REF ASC;
问题2:

SELECT RS.STATUS_QUANTITY AS RETURNED_QTY
FROM   YFS_ORDER_HEADER OH,
       YFS_ORDER_LINE OL,
       YFS_ORDER_RELEASE_STATUS RS
WHERE  OH.ORDER_HEADER_KEY = OL.ORDER_HEADER_KEY
       AND OL.ORDER_LINE_KEY = RS.ORDER_LINE_KEY
       AND RS.STATUS = '3700.02'
       AND OH.EXTN_HOST_ORDER_REF = 'xxxxxxxxxxx';
问题3

SELECT RS.STATUS_QUANTITY AS CANCELLED_QTY
FROM   YFS_ORDER_HEADER OH,
       YFS_ORDER_LINE OL,
       YFS_ORDER_RELEASE_STATUS RS
WHERE  OH.ORDER_HEADER_KEY = OL.ORDER_HEADER_KEY
       AND OL.ORDER_LINE_KEY = RS.ORDER_LINE_KEY
       AND RS.STATUS = '9000'
       AND OH.EXTN_HOST_ORDER_REF = 'xxxxxxxxxxx'; 
如果查询2和查询3中不存在数据,则查询应显示空值


提前感谢您的帮助和建议

如果允许您同时显示退回的数量和取消的数量,以下简单的编辑应该可以工作。希望这有帮助

  SELECT oh.extn_host_order_ref,
         ol.extn_host_order_line_ref,
         ol.original_ordered_qty,
         ol.extn_tender_quantity,
         ol.extn_cum_pick_qty,
         ol.shipped_quantity,
         ol.extn_refund_qty,
         DECODE (rs.status, '3700.02', rs.status_quantity) AS returned_qty,
         DECODE (rs.status, '9000', rs.status_quantity) AS cancelled_qty
    FROM yfs_order_header oh
         INNER JOIN yfs_order_line ol
            ON oh.order_header_key = ol.order_header_key
         LEFT OUTER JOIN yfs_order_release_status rs
            ON ol.order_line_key = rs.order_line_key
   WHERE oh.document_type = '0001' AND oh.extn_host_order_ref = 'xxxxxxxxxxx'
ORDER BY pl.extn_host_order_line_ref ASC;

感谢马丁·史密斯的编辑。你赢了我!