我是一個討厭SQL的謙虛程序員...... :)請幫助我解決這個問題。從不同的表中求和字段的SQL查詢
我有4個表,例如:
Table A:
Id Total
1 100
2 200
3 500
Table B
ExtId Amount
1 10
1 20
1 13
2 12
2 43
3 43
3 22
Table C
ExtId Amount
1 10
1 20
1 13
2 12
2 43
3 43
3 22
Table D
ExtId Amount
1 10
1 20
1 13
2 12
2 43
3 43
3 22
我需要做一個SELECT表示的Id,總和的表B,C和d金額字段這樣
的SUMId Total AmountB AmountC AmountD
1 100 43 43 43
2 200 55 55 55
3 500 65 65 65
我已經嘗試了三個表的內部連接的Id和做的金額字段的總和,但結果並不是rigth。這裏是錯誤的查詢:
SELECT dbo.A.Id, dbo.A.Total, SUM(dbo.B.Amount) AS Expr1, SUM(dbo.C.Amount) AS Expr2, SUM(dbo.D.Amount) AS Expr3
FROM dbo.A INNER JOIN
dbo.B ON dbo.A.Id = dbo.B.ExtId INNER JOIN
dbo.C ON dbo.A.Id = dbo.C.ExtId INNER JOIN
dbo.D ON dbo.A.Id = dbo.D.ExtId
GROUP BY dbo.A.Id, dbo.A.Total
在此先感謝,它只是我討厭SQL(或SQL恨我)。
編輯:我有一個錯字。此查詢沒有給出正確的結果。擴展示例。
我真的很喜歡你的方法。清潔,簡單......它的工作原理!謝謝..但我仍然在討論SQL:P – 2010-02-20 10:51:10