数据库-行转列的语法
表: PerTab
字段:name, title, values
原内容:一月 产品A 120
二月 产品A 20
一月 产品B 230
二月 产品B 400
-----------------------------------------------
查询结果: 月份 产品A 产品B 数量(Values)
一月 120 230
二月 20 400
-----------------------------------------------
SQl语法:select name, sum(case title when 'title' then values else 0 end ) from PerTab group by name
备注: 其中中间的可以重复,得到所有的列
*****************************************************
可以自动生成的语句(摘录中国DOtNet)
declare @sql varchar(8000)
set @sql = 'select name'
select @sql = @sql + ',sum(case title when '''+title+''' then values end) ['+title+']'
from (select distinct title from PerTab) as a
select @sql = @sql+' from PerTabgroup by name'
exec(@sql)
******************************************************
非常感谢好心人将自己的知识与别人分享!
字段:name, title, values
原内容:一月 产品A 120
二月 产品A 20
一月 产品B 230
二月 产品B 400
-----------------------------------------------
查询结果: 月份 产品A 产品B 数量(Values)
一月 120 230
二月 20 400
-----------------------------------------------
SQl语法:select name, sum(case title when 'title' then values else 0 end ) from PerTab group by name
备注: 其中中间的可以重复,得到所有的列
*****************************************************
可以自动生成的语句(摘录中国DOtNet)
declare @sql varchar(8000)
set @sql = 'select name'
select @sql = @sql + ',sum(case title when '''+title+''' then values end) ['+title+']'
from (select distinct title from PerTab) as a
select @sql = @sql+' from PerTabgroup by name'
exec(@sql)
******************************************************
非常感谢好心人将自己的知识与别人分享!

浙公网安备 33010602011771号