0
A
回答
1
這可能是你在找什麼:
DECLARE @t TABLE(Col1 char(1)
,Col2 char(1)
,Col3 char(1)
,ColKey varchar(3)
,ColVal1 varchar(2)
,ColVal2 varchar(3)
);
INSERT INTO @t VALUES('A','B','C','EOP','X1','X2')
,('A','B','C','AVG','X3','X4')
,('A','B','C','PL','X5','X6')
,('A','B','E','EOP','X7','X8')
,('A','B','E','PL','X9','X10');
WITH cte_val1 AS(
SELECT Col1, Col2, Col3, [EOP] [EOP Val1], [AVG] [AVG Val1], [PL] [PL Val1]
FROM
(
SELECT Col1, Col2, Col3, ColKey, ColVal1
FROM @t
) src
PIVOT(
MIN(ColVal1) FOR ColKey IN ([EOP], [AVG], [PL])
) piv
),
cte_val2 AS(
SELECT Col1, Col2, Col3, [EOP] [EOP Val2], [AVG] [AVG Val2], [PL] [PL Val2]
FROM
(
SELECT Col1, Col2, Col3, ColKey, ColVal2
FROM @t
) src
PIVOT(
MIN(ColVal2) FOR ColKey IN ([EOP], [AVG], [PL])
) piv
)
SELECT cv1.Col1, cv1.Col2, cv1.Col3
,cv1.[EOP Val1], cv2.[EOP Val2]
,cv1.[AVG Val1], cv2.[AVG Val2]
,cv1.[PL Val1], cv2.[PL Val2]
FROM cte_val1 cv1
JOIN cte_val2 cv2
ON cv1.Col1 = cv2.Col1
AND cv2.Col2 = cv1.Col2
AND cv2.Col3 = cv1.Col3
+0
謝謝你。會檢查。 –
相關問題
- 1. TSQL查詢樞轉
- 2. 需要DB2查詢轉換爲TSQL
- 3. 將查詢從Oracle轉換爲TSQL
- 4. 將TSQL查詢轉換爲訪問
- 5. 將TSQL查詢轉換爲LINQ
- 6. TSQL轉換查詢返回TRUE/FALSE
- 7. TSQL GETDATE轉換
- 8. SQL查詢轉換表
- 9. SQL轉換表查詢
- 10. TSQL - 查詢XML
- 11. TSQL查詢
- 12. 如何重寫TSQL查詢在Microsoft Access 2003中使用:TSQL轉換
- 13. 在TSQL查詢中轉換DateTime.FromBinary方法的邏輯
- 14. 如何在TSQL select查詢中將行轉換爲JSON?
- 15. 轉換TSQL到LINQ
- 16. TSQL日期轉換
- 17. TSQL更新查詢
- 18. 幫助查詢--TSQL
- 19. TSQL瞭解查詢
- 20. tsql:刪除查詢
- 21. TSQL查詢聯接
- 22. tSQL NOT IN查詢
- 23. TSQL DecryptbyKey子查詢
- 24. 動態TSQL查詢
- 25. TSQL樞軸查詢
- 26. TSQL:條件查詢
- 27. TSQL加入查詢
- 28. TSQL遞歸查詢
- 29. TSQL查詢問題
- 30. TSQL查詢幫助
聽起來似乎確實不適合作爲數據庫引擎 – Lamak
我認爲它可以使用旋轉功能等技術來實現... –
歡迎來到計算器。請閱讀[問]。 –