select sum(case when 收费项目='房租' then 收费金额 else 0 end) as 房租,
sum(case when 收费项目='水电费' then 收费金额 else 0 end) as 水电费,
sum(case when 收费项目='杂费' then 收费金额 else 0 end) as 杂费
from 表
sum(case when 收费项目='水电费' then 收费金额 else 0 end) as 水电费,
sum(case when 收费项目='杂费' then 收费金额 else 0 end) as 杂费
from 表
select @s=@s+',['+收费项目+']=sum(case when 收费项目='''+收费项目+''' then 收费金额 else 0 end)'
from 表
gorup by 收费项目
set @s=' from 表 'exec(@s)
房租 100
水电费 50
杂费 50
----------------------------------------------
declare @sql varchar(3000)
set @sql=''
set @sql='select name'
select @sql=@sql+',max( case name when '''+name+''' then feiyong else 0 end)['+name+']'
from (select distinct name from tablename)a
set @sql=@sql+' from tablename group by name'
exec(@sql)
name feiyong
房租 100
水电费 50
杂费 50
----------------------------------------------
declare @sql varchar(3000)
set @sql=''
set @sql='select name'
select @sql=@sql+',sum( case name when '''+name+''' then feiyong else 0 end)['+name+']'
from (select distinct name from tablename)a
set @sql=@sql+' from tablename group by name'
exec(@sql)
sum(case when 收费项目='水电费' then 收费金额 else 0 end) as 水电费,
sum(case when 收费项目='杂费' then 收费金额 else 0 end) as 杂费
from 表
name feiyong
房租 100
水电费 50
杂费 50
----------------------------------------------
declare @sql varchar(3000)
set @sql=''
set @sql='select name'
select @sql=@sql+',max( case name when '''+name+''' then feiyong else 0 end)['+name+']'
from (select distinct name from tablename)a
set @sql=@sql+' from tablename group by name'
exec(@sql)
-------------------------------
如果是统计就用sum
name feiyong
房租 100
水电费 50
杂费 50
----------------------------------------------
declare @sql varchar(3000)
set @sql=''
set @sql='select name'
select @sql=@sql+',sum( case name when '''+name+''' then feiyong else 0 end)['+name+']'
from (select distinct name from tablename)a
set @sql=@sql+' from tablename group by name'
exec(@sql)