0

こんにちは、各製品の 1 行を取得するクエリに取り組んでいますが、問題は、1 つの製品のプロパティを持つ複数のレコードがあることです。

テーブル PRODUCTS_DATA

NAME :  DESC.  | ID|FIELD1|FIELD2|FIELD3|FIELD4|
Row 1:PRODUCT1 | 1 | 200  | high |      |      | 
Row 2:PRODUCT1 | 2 |  10  |      | low  |      |
Row 3:PRODUCT1 | 3 |      |      |      | 10   | 

ここで、これらすべてのプロパティを持つレコードを 1 つだけ表示するクエリを取得したいと思います。

行 1:PRODUCT1|200|10|HIGH|LOW|10

なぜなら

行 1 | id1 | フィールド 1 には長さデータが含まれます
行 2 | id2 | フィールド 1 には金額データが含まれます

このような結果を得るにはどうすればよいのでしょうか。

4

3 に答える 3

1

親愛なるあなたは今あなたの解決策を得ると思います...

   SELECT 
   SS.[DESC], 
   (SELECT '|' + US.FIELD1
    FROM XYZ US
    WHERE US.[DESC] = SS.[DESC]
    FOR XML PATH('')) [FIELD1],
    (SELECT '|' + US.FIELD2
    FROM XYZ US
    WHERE US.[DESC] = SS.[DESC]
    FOR XML PATH('')) [FIELD2],
    (SELECT '|' + US.FIELD3
    FROM XYZ US
    WHERE US.[DESC] = SS.[DESC]
    FOR XML PATH('')) [FIELD3],
    (SELECT '|' + US.FIELD4
    FROM XYZ US
    WHERE US.[DESC] = SS.[DESC]
    FOR XML PATH('')) [FIELD4]
FROM XYZ SS
GROUP BY SS.[DESC]
ORDER BY 1
于 2013-10-08T10:32:21.133 に答える