ฉันเป็นโปรแกรมเมอร์ผู้ต่ำต้อยที่เกลียด 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, Total และ SUM ของฟิลด์ Amount ของตาราง B, C และ D เช่นนี้
Id Total AmountB AmountC AmountD
1 100 43 43 43
2 200 55 55 55
3 500 65 65 65
ฉันได้ลองใช้การรวมภายในของทั้งสามตารางด้วย Id และทำผลรวมของฟิลด์จำนวนเงิน แต่ผลลัพธ์ไม่เข้มงวด นี่เป็นคำถามที่ผิด:
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 เกลียดฉัน)
แก้ไข: ฉันพิมพ์ผิด แบบสอบถามนี้ไม่ได้ให้ผลลัพธ์ที่ถูกต้อง ขยายตัวอย่าง