2014-01-21 188 views
-2

這是我的Select查詢。SQL查詢重新排列列順序

select * 
from 
    #temptableforRiskDisiplineStaLvl 
inner join 
    #temptableforRiskDisipline on #temptableforRiskDisiplineStaLvl.PROJ_ID = #temptableforRiskDisipline.PROJ_ID 

哪一個正在讀取結果集下方。

PROJ_ID test Risk_Status test2 Risk_Status PROJ_ID  test Owner  test2 Owner 
    20   Green   Red     20    XXXXXX   NULL 
    21   NULL   NULL    21   YYYYYY   NULL 

有什麼辦法可以將我的列順序重新排列成這種格式嗎?

PROJ_ID test Risk_Status test Owner test2 Risk_Status test2 Owner. 

這裏最主要的是兩個臨時表列使用PIVOT從其他表列動態生成。所以我無法判斷所有的表格列將會是什麼。

+0

和?有什麼用?你爲什麼要重新調整? –

+0

這是用戶要求。但無論如何,我在腦海中都有同樣的問題。他們希望列是每個風險狀態和它的所有者... – sk7730

+0

投票的人,請理解問題,並downvote它..如果你不明白的問題正確,要求理由.. – sk7730

回答

0

您沒有提供很多細節你目前的表結構和列來自各表,但它看來,你應該能夠只是重新排序的列 - 就不需要PIVOT:

select l.Proj_id, 
    l.[test Risk_Status], 
    d.[test Owner], 
    l.[test2 Risk_Status], 
    d.[test2 Owner] 
from #temptableforRiskDisiplineStaLvl l 
inner join #temptableforRiskDisipline d 
    on l.PROJ_ID = d.PROJ_ID 
+0

謝謝......我有一個數據透視查詢,它將根據XXX&YYY中存在的值(基本XXX&YYY表格值轉換爲列)獲取動態結果。所以我不確定在結果集中有多少列。我正在嘗試重新對齊這些表格列。這是我的要求。我明白上面的查詢將獲取正確的結果。但是如果XXX和YYY表格值發生改變,會發生什麼情況。 – sk7730

+0

我設法在.NET中編寫算法來重新對齊這些數據集列。 – sk7730