create table tblA(
GZLB varchar(3) not null,
JE int not null
)
go
insert tblA values( 'A', 100)
insert tblA values( 'B', 150)
insert tblA values( 'C', 110)
insert tblA values( 'D', 99)
insert tblA values( 'E', 180)
insert tblA values( 'F', 150)
insert tblA values( 'G', 160)
insert tblA values( 'H', 170)
insert tblA values( 'I', 130)
初始显示
GZLB JE
A 100
B 150
C 110
要的结果
A B C
100 150 110
sql server 表中只有2个列名 要进行横竖切换(这个表是 查询数据结果)
答案:2 悬赏:0
解决时间 2021-03-21 05:11
- 提问者网友:沉默的哀伤
- 2021-03-20 22:02
最佳答案
- 二级知识专家网友:两不相欠
- 2021-03-20 22:55
declare @sql varchar(8000)
set @sql = 'select '
select @sql = @sql + ' , sum(case GZLB when ''' + gzlb + ''' then je else 0 end) [' + GZLB + ']'
from (select distinct gzlb from tblA) as a
set @sql = stuff(@sql,9,1,' ')+ ' from tblA '
exec(@sql)
set @sql = 'select '
select @sql = @sql + ' , sum(case GZLB when ''' + gzlb + ''' then je else 0 end) [' + GZLB + ']'
from (select distinct gzlb from tblA) as a
set @sql = stuff(@sql,9,1,' ')+ ' from tblA '
exec(@sql)
全部回答
- 1楼网友:甜野猫
- 2021-03-21 00:07
支持一下感觉挺不错的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯