如何将行转换为同一个表中的列 [英] how to convert rows into columns in same table

查看:60
本文介绍了如何将行转换为同一个表中的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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
1 gdggf 1 10 Excellent

2 6t7ik,ikik 2 12 Good
1 gdggf 3 3 Average
1 gdggf 4 4 Poor


i want this table like this


ques_id ques_txt excellent average good poor
1 gdggf 10 3 4
2 6t7ik,ikik 5 12

推荐答案

您好,



使用此:



Hi,

Use this:

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

中选择 *


您的表格格式更改不得将行转换为列
your table format change must no convert rows in to column


这篇关于如何将行转换为同一个表中的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆