读书人

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

发布时间: 2013-09-11 16:26:28 作者: rapoo

请教一个关于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

读书人网 >SQL Server

热点推荐