サブクエリからSELECTクエリのフィールド名を指定することはできますか? たとえば、ピボット テーブルを返す次のクエリがあります。
SELECT [Rank], [a], [b], [c], [d], [e], [f], [g], [h]
FROM
(SELECT [File], [Rank], [Piece]
FROM [TableName])
AS [SRC]
PIVOT
(MAX([Piece])
FOR [File]
IN ([a], [b], [c], [d], [e], [f], [g], [h]))
AS [PVT]
ORDER BY [Rank] DESC
したがって、基本的には、これらの「[a]、[b]、[c]、[d]、[e]、[f]、[g]、[h]」を動的に生成する(パラメーターに依存する)必要があります。 #TempTable など、別のクエリからの結果。ある種の Eval() 関数を使用する必要があると思います (もちろん存在する場合)。私はそれを次のようにしたい:
SELECT [Rank], Eval("SELECT ... FROM ...")
FROM
(SELECT [File], [Rank], [Piece]
FROM [TableName])
AS [SRC]
PIVOT
(MAX([Piece])
FOR [File]
IN ( Eval("SELECT ... FROM ...") ))
AS [PVT]
ORDER BY [Rank] DESC