以前のシナリオを修正しています。SALES ORDER に配置されたシリアルの詳細と、DELIVERY RECEIPTS に記入されたシリアルの詳細の注文が正しければ知りたいです。以下に 3 つのテーブルがあります。(1)テーブル A - これは、以下のスクリプトを実行したときの現在の出力です。(2) TABLE B - シリアルの詳細のために結合したい別のテーブル (TABLE B)。(3) TABLE DESIRED 出力 - 達成したい.. 考慮: basetype = 17 の場合、シリアルを別の列 (SO_SERIAL)
に挿入し、basetype = 15 の場合、シリアルの詳細を別の列 (DR_SERIAL) に挿入する必要があります。これにより、SOで使用されているシリアルとDRで使用されているシリアルが異なる/同じであることが分析できました。
ご協力いただきありがとうございます。
select a.CardCode 'BPNAME', c.itemcode, a.DocEntry 'SO_DOCENTRY', a.DocNum 'SO Num', c.ObjType'SO_Btype',
b.docEntry 'DR_DOCENTRY',b.BaseRef 'DR_num',b.ObjType 'dr_type'
from ORDR a
LEFT join dln1 b on a.docentry = b.baseentry
left join RDR1 c on a.DocEntry = c.DocEntry
表 A.
BP ITEMCODE SO_DOCENTRY SO_NUM SO_BTYPE DR_DOCENTRY DR_NUM DR_TYPE
======================================================================================
CITALI TYB20001M 144900 20152733 17 130775 20152733 15
表 B.
SERIAL ITEMCODE BASEENTRY BASENUM BASETYPE QUANTITY CARDCODE
=====================================================================================
MCWF-12001-20120601 TYB20001M 144900 20152733 17 10.000000 CITALI
MBAL-13001-20130101 TYB20001M 130775 103073 15 5.000000 CITALI
望ましい出力:
BP ITEMCODE SO_NUM SO_BTYPE SO_SERIAL DR_NUM DR_TYPE DR_SERIAL
============================================================================================
CITALI TYB20001M 20152733 17 MCWF-12001-20120601 20152733 15 AL-13001-20130101