Id Item
--------------
1 ItemA
2 ItemB
3 ItemC
itemid Price
----------------
1 4
1 3
1 9
2 2
2 4
2 3
我如何从 2 个表中选择总和?像这样:
ItemA 16
ItemB 9
ItemC 0
最佳答案
您可以使用 LEFT JOIN
JOIN
表并将聚合函数 SUM()
应用于 price
领域:
select t1.item, IsNull(sum(t2.price), 0) total
from table1 t1
left join table2 t2
on t1.id = t2.itemid
group by t1.item
LEFT JOIN
将允许不在第二个表中的记录包含在最终结果中。我将 IsNull()
添加到 sum()
以用零替换任何 null
值。
结果:
| ITEM | TOTAL |
-----------------
| ItemA | 16 |
| ItemB | 9 |
| ItemC | 0 |
关于sql - 使用 SQL Server 中的表进行连接和求和的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13471974/