我有表A,B,c和d,其中:SQL求和加入
There are 0 or more b rows for each a row
There are 0 or more c rows for each a row
There are 0 or more d rows for each a row
如果我試着像下面這樣的查詢:
SELECT a.id, SUM(b.debit), SUM(c.credit), SUM(d.other)
FROM a
LEFT JOIN b on a.id = b.a_id
LEFT JOIN c on a.id = c.a_id
LEFT JOIN d on a.id = d.a_id
GROUP BY a.id
我注意到,我有創造了笛卡兒的產品,因此我的款項不正確(太大)。
我看到還有其他的問題和答案,但是我仍然沒有把握如何在單個查詢中完成我想要做的事情。是否有可能在SQL中編寫一個聚合了以下所有數據的查詢:
SELECT a.id, SUM(b.debit)
FROM a
LEFT JOIN b on a.id = b.a_id
GROUP BY a.id
SELECT a.id, SUM(c.credit)
FROM a
LEFT JOIN c on a.id = c.a_id
GROUP BY a.id
SELECT a.id, SUM(d.other)
FROM a
LEFT JOIN d on a.id = d.a_id
GROUP BY a.id
在單個查詢中?
哦,等等,我想我可以聯合三個子查詢,並與外部查詢分組... – Daniel
你使用的是什麼rdbms? –
我正在使用MS SQL Server。 – Daniel