0

我是新來的SQL服務器編碼,我需要一些幫助。樞軸選擇查詢

我有一個具有三列的SELECT聲明,即改變字段名和其以前的和新的價值觀

FieldName OldValue NewValue 
Age   21   22 
Age   76   54 
Color  Red   Blue 

我想這PIVOT選擇成類似:

OldValueName NewValueName OldValueAge NewValueAge OldValueColor NewValueColor etc. 

你能幫我解決嗎?

+0

提供此樣本數據 –

+0

所以如果你有100行從SELECT語句造成的,你想它樞成300列×1個的結果的結果的例子嗎? – Squirrel

+0

在水晶報告中使用交叉標籤 – Siva

回答

0

你可以這樣做,如下使用PIVOT。

DECLARE @tbl TABLE (
    FieldName VARCHAR(50), 
    OldValue VARCHAR(50), 
    Newvalue Varchar(50) 
) 

INSERT INTO @tbl (FieldName, OldValue, NewVALUE) 
SELECT 'AGE', '21','22' 
UNION 
SELECT 'AGE', '76','54' 
UNION 
SELECT 'color', 'red','blue' 

SELECT * FROM @tbl 

SELECT * FROM 
(
    SELECT FieldName, OldValue, NewValue FROM @tbl 
) AS S 
PIVOT 
(
    max(OldValue) FOR s.FieldName in ([AGE], [color]) 
) AS Pvt