**************解決しましたが、より良い答えを歓迎します!:) **************
テーブルsc000から(sa003 * sa004)の合計を取得したいのですが、その前に、アイテムが他のテーブルに存在するかどうかを確認する必要があります。画像(一部のテーブルの列形式は同じです):
私は「IN」を使用します:
... WHERE s.sa002 IN (select b.b005 from b000 b where year(b.b001) = 2013 and month(b.b001) = 1)
しかし、それは長いプロセスを必要とするので、私は「LEFTJOIN」で試しています:
SELECT s.sa002, Sum(s.SA003) AS qty, Sum(s.SA003*s.SA004) AS jumlah
FROM sc000 s LEFT JOIN
(select bs.b005 from b000 bs where year(bs.b001) = 2013 and month(bs.b001) = 1) b
on s.sa002 = b.b005 LEFT JOIN
(SELECT ps.p005 from p000 ps where year(ps.p001) = 2013 and month(ps.p001) = 1 ) p
on s.sa002 = p.p005 LEFT JOIN
(SELECT js.b005 from j000 js where year(js.b001) = 2013 and month(js.b001) = 1 ) j
on s.sa002 = j.b005 LEFT JOIN
(SELECT rs.b005 from Rev00 rs where year(rs.b001) = 2013 and month(rs.b001) = 1) rv
on s.sa002 = rv.b005 LEFt JOIN
(SELECT es.b005 FROM R000 es where year(es.b001) = 2013 and month(es.b001) = 1) re
on s.sa002 = re.b005
where year(s.sa005) = 2013 and month(s.sa005) = 1
and (b.b005 is not null or p.p005 is not null or rv.b005 is not null or j.b005 is not null or re.b005 is not null)
GROUP BY s.sa002
結果は乗算されます。何か助けはありますか?:(
更新:このような結果が必要です(コード、sc002からの数量、数量*価格):
^他のテーブルをチェックせずに。
次に、左結合を使用すると、次のような結果になります。