请教一个将行转换成列的问题,用sql语言如何实现,存储过程也行

[复制链接]
查看11 | 回复0 | 2007-10-30 09:12:33 | 显示全部楼层 |阅读模式
我也没看懂,如果你说的是交叉表,试试下面这个例子,你运行一下看看是不是你要的:if object_id('pubs..tb') is not null drop table tb go create table tb ( 月份 varchar(10), 蔬菜 varchar(10), 单位 varchar(10),销售量 float) insert into tb(月份,蔬菜,单位,销售量) values('1月','白菜','斤',50) insert into tb(月份,蔬菜,单位,销售量) values('1月','土豆','斤',30) insert into tb(月份,蔬菜,单位,销售量) values('2月','白菜','斤',60) insert into tb(月份,蔬菜,单位,销售量) values('2月','土豆','斤',40) insert into tb(月份,蔬菜,单位,销售量) values('2月','黄瓜','斤',10) insert into tb(月份,蔬菜,单位,销售量) values('3月','白菜','斤',5) DECLARE @SQL VARCHAR(4000) SET @SQL='SELECT 蔬菜,单位' SELECT @SQL= @SQL+ ',sum(CASE WHEN 月份 = ''' + 月份 + ''' THEN 销售量 ELSE 0 END) ['+月份+']' FROM (SELECT DISTINCT 月份 FROM tb) TAB SET @SQL=@SQL+ ' FROM tb group by 蔬菜,单位'EXEC (@SQL) drop table tb
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行