すべての varchar データ型と 1 つの画像データ型の列を使用して、SQL Server でクロス集計/ピボット クエリを実行する必要があります。この形式で一連のテーブルを結合するストアド プロシージャを作成しました。「B」は画像データにリンクできる唯一の要素です。「B」の DATA フィールドが空白の場合、その行の IMAGEDATA も空白になります。
OBJID CONTAINERID ELEMENT DATA IMAGEDATA
1 11 A a123 NULL
1 12 A aa123 NULL
1 11 B b123 0XFFD8FFE
1 12 B bb123 0XFFD8FFE
1 11 C c123 NULL
次に、ピボット クエリを使用します。理想的には、テーブルは次のようになります。
OBJID CONTAINERID A B C IMAGEDATA
1 11 a123 b123 c123 0XFFD8FFE
1 12 aa123 bb123 0XFFD8FFE
問題は、画像データ フィールドをピボット、グループ化、変換などできないことです...画像をバイナリから varchar に変換しようとしましたが、意味不明になります。
制限:
- 1.「ELEMENTS」は動的であるため、ピボット テーブルの列数は常に変化しています。(つまり、A から Z までずっと*可能性*があります。)
- 2. フィールドは SSRS レポートで使用されるため、画像データ型を維持する必要があります。
- 3. 他の開発言語 (.NET など) を使用できない
これを行う他の方法はありますか?