3

このクエリ:

with x as (select
'<promotions>
    <promotion promotion-id="old-promotion">
        <enabled-flag>true</enabled-flag>
        <searchable-flag>false</searchable-flag>
    </promotion>
    <promotion promotion-id="new-promotion">
        <enabled-flag>false</enabled-flag>
        <searchable-flag>false</searchable-flag>
        <exclusivity>no</exclusivity>
        <price>100</price>
        <price>200</price>
        <price>300</price>
    </promotion>
</promotions>'::xml as t
)
select 
    xpath('/promotions/promotion/@promotion-id', t) promotion_id,
    xpath('/promotions/promotion/enabled-flag/text()', t) enabled_flag,
    xpath('/promotions/promotion/exclusivity/text()', t) exclusivity,
    xpath('/promotions/promotion/price/text()', t) price
from x

要素exclusivityおよびpriceが最初のプロモーションには表示されないが、2 番目のプロモーションには表示される場合、次の結果が得られます。

"{old-promotion,new-promotion}";"{true,false}";"{no}";"{100,200,300}"

排他性と価格データを適切なプロモーション ID に並べることができる結果セットを取得する方法を理解する必要があります。このようなもの

"{old-promotion,new-promotion}";"{true,false}";"{,no}";"{,"100,200,300"}"

それを実現するために私は何をしなければなりませんか?

4

1 に答える 1