多表连接添加列SQL Server

时间:2013-09-16 22:09:46

标签: sql sql-server join

表1

ID      FID    DID
1       91     9
2       92     9
3       34     862

表2

FID      Office Name
9        CompABC
862      CompXYZ

表3

FID       TotalInvoice
91        850
91        450
91        450
92        450
34        300
34        325

我想要实现的查询的结果是这样的

9    CompABC 2200
862  CompXYZ 625

我尝试了类似

的内容
Select SUM(t3.TotalInvoice) as InvoiceTotal
,t2.[Office Name]
from Table2 t2
inner join table1 t1 on t2.FID = t1.DID
inner join table3 t3 on t1.FID = t3.FID

DID实际上是Table1的实体,因此完整列表将包含其自身。

我在这里得到了不正确的结果,任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

试试这个:

select t2.FID, t2.[Office Name], SUM(t3.TotalInvoice) 
from Table2 t2
join Table1 t1 on t2.FID = t1.DID
join Table3 t3 on t1.FID = t3.FID
group by t2.FID, t2.[Office Name]