DC_Noフィールドとして一意のレコードを持つDCHDRテーブルと、トランザクションテーブルであるDCDTLがあります。これは、異なる製品と数量で重複するDC_Noを持ちます。
以下のMYSQL行から、2つのテーブルを結合して結合することができ、結果は、DCDTLの重複レコードが同一でない場合にのみ、私の要件に従っています。
つまり、以下の例のレコードはDCDTLにあり、1つだけが表示され、2番目のレコードは表示されません。
例:DCDTLのフィールドとデータ-
DC_Nos, Product_Desc, Nos, Qty
111 Oxygen 99.99, 4, 10
111 Oxygen 99.99, 4, 10
UNIQUEがテーブル内の重複を削除することは知っていますが、DCDTLテーブルの同一のレコードを表示する他の方法はありますか。Plが提案します。
SELECT DC_No, DC_date, T.DC_Nos, T.Product_Desc, T.Nos, T.Qty
FROM DCHDR AS H
LEFT JOIN DCDTL AS T ON H.DC_No = T.DC_Nos
UNION
SELECT DC_No, DC_date, T.DC_Nos, T.Product_Desc, T.Nos, T.Qty
FROM DCHDR AS H
RIGHT JOIN DCDTL AS T ON H.DC_No = T.DC_Nos
以下は、表と望ましい結果の両方のサンプルデータです。
DCHDRテーブル:
DC_date DC_Nos
2013-01-01 111
2013-01-02 112
2013-01-03 113
DCDTLテーブル:
DC_Nos, Product_Desc, Nos, Qty
111 Oxygen 99.99, 4, 10
111 Oxygen 99.99, 4, 10
111 Nitrogen, 9, 14
112 Nitrogen, 8, 29
113 Zero Air, 4, 15
必要な結果:
DC_date DC_Nos Product_Desc, Nos, Qty
2013-01-01 111 Oxygen 99.99, 4, 10
2013-01-01 111 Oxygen 99.99, 4, 10
2013-01-01 111 Nitrogen, 9, 14
2013-01-02 112 Nitrogen, 8, 29
2013-01-03 113 Zero Air, 4, 15