sql - SQL Serverで動的な列、値、およびデータ型を使用してPIVOTを行うにはどうすればよいですか?

sql sql-server dynamic pivot

次のようにデータを格納するテーブルがあります。

ID ListId ModuleId RecordId NValue CValue LValue Caption RowId
8cb5f604 c07cea6f 24cb218c _01F15T1LJ 2.00000偽線#24cb218c
c023fe9e 2dcd56fe 24cb218c _01F15T1LJ赤の偽ラベル24cb218c
4a74bd46 c07cea6f 24cb218c _01F15T1LJ 1.00000偽線#24cb218d
30cae2cf 2dcd56fe 24cb218c _01F15T1LJホワイト偽ラベル24cb218d

RowIdで日付をピボットして、次のような結果を表示する必要があります。

RowIdワイヤー#ラベル
24cb218d 1.00000白
24cb218c 2.00000赤


このようにPIVOTを機能させる方法を理解できません。

テーブル内のデータ、列数、および順序はすべて、エンドユーザーが編集できるように開いています。これを効率的に行うことは可能ですか?もしそうなら、どのように。
答え
これは、動的TSQLを使用して実現できます(SQLインジェクション攻撃を回避するためにQUOTENAMEを使用することを忘れないでください)。


Pivots with Dynamic Columns in SQL Server 2005
SQL Server - Dynamic PIVOT Table - SQL Injection


[The Curse and Blessings of Dynamic SQLへの必須の参照]
関連記事

mysql - MySQLの最新の日付のレコードの選択

sql - MS SQLのCONTAINS条件の誤った計画

sql - Doctrine 2 JOINエラー

mysql - 2つの列に一意のインデックスを持つテーブルにINSERT INTO

sql - SQL:テーブルのサブセットの物理サイズを取得する

mysql - MySQLはtable1への挿入時にtable2に行を自動挿入します

python - 可変長期間の最大出力を見つける

sql - データベースの行間の日時の違い

php - Oracleストアドプロシージャから配列結果を取得する方法

sql - 中間行を挿入する方法は?