Sql server 具有双和记录的SQL左联接表

Sql server 具有双和记录的SQL左联接表,sql-server,Sql Server,我有两个表(dw和click),如果与日期匹配,则使用left join进行连接。 两个表都有日期2016-06-01(dw表有1条记录,点击表有2条记录)。我想求和dw表中的winloss列,但由于click表有两条日期为2016-06-01的记录,导致winloss的双和。但我只想求dw表中的winloss之和。有什么建议吗?请参考下图 您可以使用临时表或通用表表达式执行此操作。这是一个临时工 If object_id('tempdb..#temp') is not null drop t

我有两个表(dw和click),如果与日期匹配,则使用
left join
进行连接。 两个表都有日期2016-06-01(dw表有1条记录,点击表有2条记录)。我想
求和
dw表中的winloss列,但由于click表有两条日期为2016-06-01的记录,导致winloss的双和。但我只想求dw表中的winloss之和。有什么建议吗?请参考下图


您可以使用临时表或通用表表达式执行此操作。这是一个临时工

If object_id('tempdb..#temp') is not null drop table #temp


select
sum(winloss) as winloss,
updated
--add any other columns you want
into #temp
group by
updated
--add other columns to group


select
t.updated,
t.winloss,
c.*
from #temp t
left join click on c.trandate = t.updated
试试这个:

SELECT * 
FROM DW D
INNER JOIN CLICK C
ON C.CLICKED = D.CLICKCOUNT
AND C.TRANDATE = D.UPDATED
试试这个

SELECT  dw.[updated]
  ,sum(distinct [winloss])
from dw,Click
where dw.updated = Click.trandate 
FROM dw, Click
group by dw.updated

您需要单击表中的字段吗?预期结果是什么?@Joe:是的,我需要单击列。@Squirrel:预期在加入单击表后不要对winloss求和请显示您的预期结果单击表有两条日期记录(2016-01-01),甚至保存到临时表中,当加入单击表时,它也会对两条记录求和,但我只想求dw表中winloss列的总和,该总和只在按日期分组的dw表上进行。它不会根据点击次数求和。你是说你不想对同一日期的两条记录求和吗?