0

次のデータを含むテーブルがあります。

subitem, subitempart, subitemvalue
 'Badge", 'Issued to', 'abc'
 'Badge', 'Located at', 'bcd'
 'Badge, 'signed for', 'def'
 'key', 'number', '123'
 'key', 'Issued to', 'abc'

サブアイテム名は、[コード] と [説明] の 2 つのフィールドを持つ別のテーブルから取得されます。サブアイテムには 1 ~ 20 個のサブアイテムパートを含めることができ、アイテムごとに異なります。

私のクライアントは、これを次のように見たいと思っています:

[Subitem], [Issued to], [Located at], [Signed for], [Number]
'Badge'  , 'abc'      , 'bcd'       , 'def'       , NULL
'key'    , 'abc'      , NULL        , NULL        , '123'

だから私がしたいのは、列に利用可能なすべてのサブアイテムを入れてから、正しいフィールドに値を入れてから、各行で空の列を削除することです。

これは MS SQL で可能ですか? はいの場合、その方法は?

助けてくれてありがとう。

rg。エリック

4

2 に答える 2

0

ピボット テーブルを作成できます。SQL ではそれほど難しくありません。

SELECT * FROM item
PIVOT (max(subitemvalue) 
    for subitempart in ([Issued to],[Located at],[signed to],[number])) as items

お役に立てれば

于 2013-11-05T06:34:21.497 に答える