首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2013-09-11 
请教一个关于Case语句的问题.表A(date,id,MacAdd)2013-7-1A11112013-7-1A231222013-7-1B145462013-7

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

热点排行