求一条按时间分类的语句
其中一张表如下
ID 流程 日期
1 A 9-1
2 A 9-1
3 B 9-1
4 C 9-1
1 B 9-2
2 B 9-2
3 C 9-2
4 D 9-2
想得到的结果是
9-1 9-2
A 2 0
B 1 2
C 1 1
D 0 1
小弟先谢过
------解决方案----------------------日期固定的写法
select ID ,
sum(case 日期 when '9-1 ' then 1 else 0 end) [9-1],
sum(case 日期 when '9-2 ' then 1 else 0 end) [9-2]
from 表
group by ID
--日期不固定的写法
declare @sql varchar(8000)
set @sql = 'select ID '
select @sql = @sql + ' , sum(case 日期 when ' ' ' + 日期 + ' ' ' then 1 else 0 end) [ ' + 日期 + '] '
from (select distinct 日期 from 表) as a
set @sql = @sql + ' from 表 group by ID '
exec(@sql)