双左记录SQL左连接表
问题描述:
我有两个表(dw和click),并使用left join
加入它如果匹配日期。 两个表都有日期2016-06-01(dw表有1条记录,点击表有2条记录)。我想要sum
dw表中的列winloss,但是由于click表有2个记录,日期是2016-06-01,导致winloss双重和。但我只想在dw表中总结winloss。任何建议?请参考下面的图片。双左记录SQL左连接表
答
您可以用临时表或公共表表达式做到这一点。这是一个温度。
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
你需要从点击表中的任何字段? –
预期的结果是什么? – Squirrel
@Joe:是的,我只需要点击列。 – inc