本文介绍了如何将行转换为同一个表中的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
hii
i我有一张桌子v_feedabck,其中我有follwins结构
ques_id qtxt opid得分表现
1 gdggf 1 10优秀
2 6t7ik,ikik 2 12好
1 gdggf 3 3平均值
1 gdggf 4 4可怜
i想要这样的桌子
ques_id ques_txt优秀的平均优秀穷人
1 gdggf 10 3 4
2 6t7ik,ikik 5 12
hii
i am having a table v_feedabck in which i have follwins structure
ques_id qtxt opid score performance
1gdggf110Excellent
26t7ik,ikik212Good
1gdggf33Average
1gdggf44Poor
i want this table like this
ques_id ques_txt excellent average good poor
1 gdggf 10 3 4
2 6t7ik,ikik 5 12
推荐答案
CREATE TABLE Aver(ques_id int,qtxt varchar(20),opid int,score int,performance varchar(30))
insert into Aver values( 1,'gdggf',1,10,'Excellent'),( 2,'6t7ik,ikik',2,12,'Good'),(1,'gdggf',3,3,'Average'),(1,'gdggf',4,4,'Poor')
select * from Aver
declare @tab1e table(Id int,Qtxt varchar(20),Excellent int,Good int,Average int,Poor int)
insert into @tab1e(ID)
select distinct ques_id from Aver
update T set T.Qtxt=A.qtxt,T.Excellent=A.score from @tab1e T inner Join Aver A on A.ques_id=T.Id where A.performance='Excellent'
update T set T.Qtxt=A.qtxt,T.Good=A.score from @tab1e T inner Join Aver A on A.ques_id=T.Id where A.performance='Good'
update T set T.Qtxt=A.qtxt,T.Average=A.score from @tab1e T inner Join Aver A on A.ques_id=T.Id where A.performance='Average'
update T set T.Qtxt=A.qtxt,T.Poor=A.score from @tab1e T inner Join Aver A on A.ques_id=T.Id where A.performance='Poor'
select * from @tab1e
中选择 *
这篇关于如何将行转换为同一个表中的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!