前提・実現したいこと
SQLでunion allを使用し、
縦軸に複数の製品品番データをまとめたいのですが、
複数品番の最初の品番のみ表示されてしまいます。
該当のソースコード
SQL
1 2SELECT DISTINCT 構成マスタ.M_NUM AS 製品品番, 3 '' AS 式1, 4 構成マスタ.P_NUM AS 部品品番, 5 部品名.P_NAME AS 品名, 6 構成マスタ.T AS 手配, 7 構成マスタ.H_CODE AS 保管, 8 部品アドレス.H_ADD AS アドレスN, 9 構成マスタ.U_NUM AS 原単位数, 10 '' AS 出庫指示数, 11 '' AS 出庫実績, 12 '' AS 備考, 13 '' AS 担当名, 14 A.QTY AS 帳簿在庫, 15 B.QTY AS 貸出在庫 16 17 18from 構成マスタ 19 20inner join 部品名 ON 21構成マスタ.C_NUM = 部品名.C_NUM 22inner join 部品名 ON 23構成マスタ.C_NUM = 部品名.P_NUM 24AND 構成マスタ.H_CODE = 部品アドレス.H_CODE 25left outer join (select* from 在庫 where ac_code ='1') A ON 26構成マスタ.C__NUM = A.P_NUM 27AND 構成マスタ.WH_CODE = A.WH_CODE 28left outer join (select* from 在庫 where ac_code ='6') B ON 29構成マスタ.C_NUM = B.P_NUM 30AND 構成マスタ.H_CODE = B.H_CODE 31 32 33where 構成マスタ.M_NUM like '&製品品番' 34AND 構成マスタ.H_CODE <> 50 35 36 37union all 38 39 40SELECT DISTINCT 構成マスタ.M_NUM AS 製品品番, 41 '' AS 式1, 42 構成マスタ.P_NUM AS 部品品番, 43 部品名.P_NAME AS 品名, 44 構成マスタ.T AS 手配, 45 構成マスタ.H_CODE AS 保管, 46 部品アドレス.H_ADD AS アドレスN, 47 構成マスタ.U_NUM AS 原単位数, 48 '' AS 出庫指示数, 49 '' AS 出庫実績, 50 '' AS 備考, 51 '' AS 担当名, 52 A.QTY AS 帳簿在庫, 53 B.QTY AS 貸出在庫 54 55 56from 構成マスタ 57 58inner join 部品名 ON 59構成マスタ.C_NUM = 部品名.C_NUM 60inner join 部品名 ON 61構成マスタ.C_NUM = 部品名.P_NUM 62AND 構成マスタ.H_CODE = 部品アドレス.H_CODE 63left outer join (select* from 在庫 where ac_code ='1') A ON 64構成マスタ.C__NUM = A.P_NUM 65AND 構成マスタ.WH_CODE = A.WH_CODE 66left outer join (select* from 在庫 where ac_code ='6') B ON 67構成マスタ.C_NUM = B.P_NUM 68AND 構成マスタ.H_CODE = B.H_CODE 69 70where 構成マスタ.M_NUM like '&製品品番2' 71AND 構成マスタ.H_CODE <> 50 72 73 74ORDER BY アドレスN ASC,部品品番 ASC
試したこと
単純にunion allでつなげる事で 複数品番の抽出が出来ると思ったのですが、
最初にいれた品番のみが表示されてしまいます。
where旬で、複数品番入れてみたりしたのですが、全てエラーとなってしまい。。。
どなたか解決のヒントを頂けますと、幸いです。
補足情報(FW/ツールのバージョンなど)
Oracle SQL
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/23 00:49
2021/04/23 01:18
2021/04/23 03:02