2011-02-11 35 views
1
SELECT sc.CID,sc.CodeName as OverviewText,scRAG.CodeName as RAGStatusText 
FROM StatusCode sc 
    LEFT OUTER JOIN ProjectOverview po ON sc.CID = po.ProjectOverviewCID AND po.ProjectId = 180 
    LEFT OUTER JOIN StatusCode scRAG ON po.RAGStatusCID = scRAG.CID 
WHERE sc.SCID = 18 

这上面的代码的结果罪:我怎样才能让数据透视这个选择?

CID OverviewText RAGStatusText 
153 Cost   Green 
154 Requirements Yellow 
155 Schedule NULL 
156 Technical NULL 
157 Testing   NULL 

我希望它有10个字段返回一条记录:

成本,绿色,要求,黄色, 计划,NULL, 技术, NULL, Testing,NULL

我可以在cid上转动吗?

+1

这是[至少你的第6个关键问题](http://stackoverflow.com/search?q=user%3A352157+pivot)据我所知。你试过什么了? – 2011-02-11 16:43:23

回答

0

而不是有独立的列,你可以住一列吗?喜欢这个?

create table #t1([CID] int 
,[OverviewText] varchar(12) 
,[RAGStatusText] varchar(6)) 

insert #t1 values (153,'Cost','Green') 
insert #t1 values (154,'Requirements','Yellow') 
insert #t1 values (155,'Schedule',NULL) 
insert #t1 values (156,'Technical',NULL) 
insert #t1 values (157,'Testing',NULL) 

select StringToSpit = stuff((select 
[text()]=','+[OverviewText]+','+isnull([RAGStatusText],'NULL') 
from #t1 
for xml path('')),1,1,'')