declare @s varchar(8000),@i int
set @s = ''
set @i = 1while @i<=31
begin
set @s = @s + ',['+cast(@i as varchar(2))+']=sum(case when day(日期字段)='+cast(@i as varchar(2))+ then 1 else 0 end)'
set @i = @i+1
endset @s = 'select 车牌号'+@s+' from 表 group by 车牌号'
exec(@s)
set @s = ''
set @i = 1while @i<=31
begin
set @s = @s + ',['+cast(@i as varchar(2))+']=sum(case when day(日期字段)='+cast(@i as varchar(2))+ then 1 else 0 end)'
set @i = @i+1
endset @s = 'select 车牌号'+@s+' from 表 group by 车牌号'
exec(@s)
解决方案 »
- sql server 数据导入到 visual foxpro
- update批量顺序修改问题
- sql2005两表产生如下格式的表
- 怎么删去空列?
- 如何查询出数据库中为拼音的字段,比如“woaini"
- SQL SERVER2005的数据库不能够Attach到SERVER 2000上?
- 关于列权限授予问题
- SQL SERVER备份的疑问,请赐教(100分)
- Attempt to ininiate a new SQL SErver operation with results pending是什么意思?
- 存储过程出现了“Windows95 不支持该系统扩展过程。”问题?在线等候……
- ■重新启动计算机 刚才用事务插入的记录没了 怎么搞的?
- 用SQL保证数据唯一性的问题?
set @s = ''
set @i = 1while @i<=31
begin
set @s = @s + ',['+cast(@i as varchar(2))+']=sum(case when day(检测日期)='+cast(@i as varchar(2))+ then 1 else 0 end)'
set @i = @i+1
endset @s = 'select 车牌号'+@s+' from 机动车检测表 group by 车牌号'
print @s --把这一个动态组织的SQL语句打印输出来,楼主应该能看明白
exec(@s)