リンクした例では、動的 SQL を使用しています。残念ながら、出力列が事前にわからない場合、SQL Server でピボットする組み込みの方法は他にありません。
データが大きすぎない場合は、ASP.NET から通常の行クエリを実行し、アプリケーション コードでピボットを実行するのがおそらく最も簡単です。データが非常に大きい場合は、可能な列の値を最初にクエリした後、SQL を動的に生成する必要があります。
動的 SQL を生成する SQL ステートメントを実際に記述する必要はないことに注意してください。 ASP.NET で SQL を生成するだけで済み、そのほうがはるかに簡単です。個別の Site
をエスケープすることを忘れないでください 生成されたクエリでそれらをチャッキングする前に値を取得し、ピボットなしで通常行う SQL ステートメントのどの部分もパラメーター化することを忘れないでください。