私は現在、次のように設定された2つのテーブルを持つシステムに取り組んでいます:
Table_1
-------
ID
Table2ID
Value
Table_2
--------
ID
ColumnName
各テーブルからのいくつかの模擬結果:
Table_1
Table2ID | Value
---------------
1 | ABCD
1 | EFGH
1 | IJKL
2 | MNOP
2 | QRST
2 | UVWX
Table_2
ID | ColumnName
--------------------
1 | First_Set
2 | Second_Set
したがって、次のクエリがあり、Table_2 の行の結果を列に変換しようとしています。
SELECT *
FROM(
SELECT B.ColumnName, A.Value
FROM Table_1 AS A
INNER JOIN Table_2 AS B ON A.Table2ID = B.ID
) AS P
PIVOT
(
min(P.Value)
for P.ColumnName in ([First_Set], [Second_Set])
) AS PIV
問題は、書かれているように、単一の結果が返されることです。私の戻り値は次のようになります。
First_Set | Second_Set
-------------------------
ABCD | MNOP
私が欲しいのは、各列のすべての結果ですが、それを可能にする PIVOT の使用方法を見つけることができませんでした。
行を列に変換し、各列に対して複数の結果を受け取る最良の方法について誰か提案がありますか?