月別にテーブルが分かれているのはどうなのか?
という疑問は無い事も無いのですが、
SELECT * FROM ( SELECT 商品名,JAN,在庫数 AS 'A月在庫' FROM テーブル1 ) as tbl_A LEFT JION ( SELECT 商品名,在庫数 AS 'B月在庫' FROM テーブル2 ) as tbl_B USING ( 商品名 ) LEFT JOIN ( SELECT 商品名,在庫数 AS 'C月在庫' FROM テーブル2 ) as tbl_C USING ( 商品名 ) ORDER BY 商品名
な感じでしょうか?
SQLの種別がなかったので、MSSQLServer2000で動くものを作ってみました。
(過去履歴からすると、Access(JET)でしょうか?)
テーブル1に存在してテーブル2,3に存在しない商品の在庫数は、0になるようにしています。
SELECT テーブル1.商品名, テーブル1.JANコード, テーブル1.在庫数, IsNull(テーブル2.在庫数, 0) AS テーブル2の在庫数, IsNull(テーブル3.在庫数, 0) AS テーブル3の在庫数 FROM (テーブル1 LEFT JOIN テーブル2 ON テーブル1.商品名 = テーブル2.商品名) LEFT JOIN テーブル3 ON テーブル1.商品名 = テーブル3.商品名 ORDER BY テーブル1.商品名
Access(JET)の場合には、「IsNull(テーブル2.在庫数, 0)」の代わりに「IIF(ISNULL(テーブル2.在庫数), 0, テーブル2.在庫数)」と置き換えてください。
コメント(0件)