网络版行专列(MSSQL)
时间:2020-07-22 访问量:1176
网络版行转列
declare @sql varchar(8000)
set @sql='select 装置名称'
select @sql=@sql+','+使用部门.使用部门+'=isnull(count(case 使用部门 when '''+使用部门.使用部门+''' then 装置名称 end),0)'
from 使用部门 order by id
set @sql=@sql+' from 计量总台账 group by 装置名称 order by 装置名称'
print @sql
exec(@sql)
================================= 有合计列
declare @sql varchar(8000)
set @sql='select 装置名称'
select @sql=@sql+','+使用部门.使用部门+'=isnull(count(case 使用部门 when '''+使用部门.使用部门+''' then 装置名称 end),0)'
from 使用部门 order by id
select @sql=@sql+','+'合计'+'=isnull(count(装置名称),0)'
set @sql=@sql+' from 计量总台账 group by 装置名称 order by 装置名称'
exec(@sql)