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クエリをLINQに変換する
- 2. TRUE/FALSEを返すTSQL変換クエリ
- 3. TSQLクエリのDateTime.FromBinaryメソッドの変換ロジック
- 4. これらの複数のCASEクエリを1つのクエリに変換するTSQL
- 5. OracleコードをTSQLに変換
- 6. TSQLをHSQLに変換する
- 7. TSQL DateOffsetをUTCに変換する
- 8. mySQLトリガーをTSQLに変換する
- 9. ストアドプロシージャtsqlの日付変換
- 10. TSQL VARCHARをTIMEに変換します
- 11. TSQL selectクエリで行をJSONに変換するにはどうすればよいですか?クエリ続い
- 12. クエリ略語TSQL
- 13. tSQL NOT INクエリ
- 14. TSQL - TSQL/XMLクエリを使用してXMLクエリのヘルプ
- 15. TSQLトリムカラム/テーブル
- 16. TSQL - クエリを変数として実行するには?
- 17. TSQLのPRINT文の変換問題
- 18. TSQLからMS-Access SQLへの変換
- 19. ダイナミックTSQLからPSQLへの変換SDK?
- 20. シンプルダイナミックTSQLクエリ構文
- 21. TSQLクエリの問題
- 22. ネームスペースでxmlをクエリするTSQL
- 23. Re:Transpose動的テーブル - TSQL
- 24. SQLクエリをActiveRecordクエリに変換する
- 25. SQLクエリをLINQクエリに変換する
- 26. SPARQLクエリをSQLクエリに変換する
- 27. MySQLクエリをSQLalchemyクエリに変換する
- 28. SqlクエリをLaravelクエリに変換する
- 29. SQL Server - TSQLの日付形式を変換する
- 30. tSQL - nvarchar(8)のみを時刻に変換する
は、データベースエンジンのために本当に適していない何かのように聞こえる – Lamak
私はそれがPIVOT機能やその他の技術を用いて行うことができると思います... –
ようこそstackoverflowへ。 [ask]をお読みください。 –