在我们要加入的两列中连接两个具有重复数据的表

时间:2014-12-23 05:52:12

标签: sql-server

我有两张桌子。名为CardName的列位于第一个表中。此列中有重复数据。该列也存在于第二个表中。在第二个表中还有一个名为amount的列与每个cardName相关。我想要的是从第一个表中选择不同的CardName,并从第二个列中取出所有金额的总和,其名称在第一个表中。但第一个表名称应该是不同的。 我该怎么办?

1 个答案:

答案 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