我有两张桌子。名为CardName的列位于第一个表中。此列中有重复数据。该列也存在于第二个表中。在第二个表中还有一个名为amount的列与每个cardName相关。我想要的是从第一个表中选择不同的CardName,并从第二个列中取出所有金额的总和,其名称在第一个表中。但第一个表名称应该是不同的。 我该怎么办?
答案 0 :(得分:1)
select name,sum(amount) from tableB
where name in (select distinct name from TableA)
group by name
使用distinct关键字。 Distinct只给你TableA的唯一名称,从子查询结果我们得到tableB的名称和总和
请参阅:http://technet.microsoft.com/en-us/library/ms187831(v=sql.105).aspx
从您的评论更新
with cte (name) as
(
select distict name from TableA
)
select cte.name,ISNULL(sum(count),0) from TableB as B
left join cte.name = B.name