2017-06-19 90 views
0

如何做到這一點的輸出樞軸上的數據

表名:測試

Code  Description  
A   Apple 
B   Ball 
C   Cat 

輸出:查詢

Apple  Ball  Cat 
A   B  C 
+0

爲什麼你需要這樣的東西? –

+0

for gird purposes @ m.antkowicz –

+0

@ DreamerXD,你正在使用哪些DBMS ..? – Mansoor

回答

1

如果您使用的是SQL服務器意味着透視表如下用途:

CREATE TABLE #Table(Code VARCHAR(1), Description VARCHAR(15)) 

INSERT INTO #Table(Code , Description) 
SELECT 'A','Apple' UNION ALL 
SELECT 'B','Ball' UNION ALL 
SELECT 'C','Cat' 

SELECT * 
FROM 
(
    SELECT Code , Description 
    FROM #Table 
) A 
PIVOT 
(
    MAX(Code) FOR Description IN ([Apple],[Ball],[Cat]) 
)pvt 

編輯:對於動態ic pivot

DECLARE @DynamicString VARCHAR(MAX) = '' , @DynamicPvt VARCHAR(MAX) = '' 

SELECT @DynamicString = 
(
    SELECT STUFF ((SELECT ',' + RTRIM(Description) FROM #Table FOR XML 
    PATH('')),1,1,'') 
) 

SET @DynamicPvt = 'SELECT * 
FROM 
(
    SELECT Code , Description FROM #Table 
)A 
PIVOT 
(
    MAX(Code) FOR Description IN ('[email protected]+') 
) 
PVt' 

EXEC (@DynamicPvt) 
+0

如果我的代碼不像Apple,Ball,Cat那樣被編碼,該怎麼辦? –

+0

@ DreamerXD,在查詢中使用動態數據透視表。 – Mansoor

+0

如何不熟悉動態樞軸 –