当前位置: 代码迷 >> Sql Server >> 请问一个关于Case语句的有关问题
  详细解决方案

请问一个关于Case语句的有关问题

热度:76   发布时间:2016-04-24 20:32:13.0
请教一个关于Case语句的问题.
表A(date,id,MacAdd)
2013-7-1  'A'  1111
2013-7-1  'A'  23122
2013-7-1  'B'  14546
2013-7-2  'A'  1235
2013-7-2  'B'  73454
..

表B
(id count)
'A'   1
'B'   2
'C'   5
...

需要7月份按天统计表A中各id每天的 COUNT(MacAdd),
但如果某天表A中某id的 COUNT(MacAdd)大于表B中该id的count的值,则这天该id取count的值。

怎样用最简单的SQL实现?

------解决方案--------------------

select A.[date],A.id,case when B.count>A.num then B.count else A.num end as num
from (
select [date],id,COUNT(MacAdd) as num
from A
group by [date],id
)A
left join B on A.id=b.id
  相关解决方案