0

私はこれを実現しようとして頭がいっぱいです。現在、3 つの個別のクエリがあります。自動化の目的で、これら 3 つのクエリの結果を 1 つの出力で取得する必要があります。これらを適切に結合して期待される結果を得ることができないようです。

クエリ 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 からのデータが存在しない場合に NULL 値を表示する必要があります。

あなたの助けとアドバイスを前もってありがとう!

4

1 に答える 1

0

返品数量とキャンセル数量の両方を表示できる場合は、次の簡単な編集が機能するはずです。お役に立てれば。

  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;
于 2013-10-22T18:17:59.210 に答える