sql 纵向数据动态转横向数据

说明:有一个表QualityReport,里面存有多条数据,然后我想把QualityReport表中xmname列的所有数据转变成横向数据列,要求是a表里的数据数量不确定... 说明:有一个表QualityReport,里面存有多条数据,然后我想把QualityReport表中xmname列的所有数据转变成横向数据列,要求是a表里的数据数量不确定,如果有5条数据就显示5列,有50条最后的结果就显示50列,小弟自己写了段代码:
DECLARE @sql varchar(max)
set @sql=''select @sql= @sql+ ','+QR_name from QualityReport
group by QR_name
set @sql=stuff(@sql,1,1,'')

create table #aa(xmname varchar(100),QR_comid int,qr_type int)
insert #aa select QR_name,QR_comid,qr_type from QualityReport
SET @sql = 'select * from #aa a pivot (max(qr_type) for xmname in (' + @sql + ') ) as b'
print @sql
EXECUTE IMMEDIATE (@sql);
drop table #aa

问题是总是提示说
EXECUTE IMMEDIATE (@sql)附近有错误,不知道问题出在什么地方还望各位大侠指点一二 谢谢
展开
 我来答
szm341
2013-03-29 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5159万
展开全部
IMMEDIATE 这是什么语法?2012的吗?
追问
是别的朋友告诉我的,http://zhidao.baidu.com/question/535894793?quesup2&oldq=1
或者是老兄有其他的方法给指点一下啊,谢谢了(顺便说下,我用的是05版本的sql)
追答
好像是老大答的,思路是对的,就是这语句不知道是不是2012的,05没见过
EXEC(@sql)改成这样执行一下,看看还报不,或者你不是用print打印出来语句了吗
直接贴出来执行一下看看
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cf38862
2013-03-29 · 超过77用户采纳过TA的回答
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:140万
展开全部
不好意思,没看懂,哪来的a表,你就是想行转列的呀,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式