1

おそらく、entertainment_pack と extra_pack に分類されるテレビ チャンネル 'bbc' があります。BBC が両方のパッケージの列のパッケージに該当するようなケース ステートメントを書きたいと思います。

お気に入り、

Select channel_name, 
       case when channel_name = 'bbc' then entertainment_pack
            when channel_name = 'bbc' then extra_pack end as Packages
From TableA 

しかし問題は、bbc が両方ではなく 1 つのパッケージを更新していることです。最善の方法を提案してください。

4

1 に答える 1

0

入力よりも出力に多くの行が必要なため、結合またはユニオンでこれを行う必要があります。

Select a.channel_name, p.package_name
From TableA a left outer join
     (select 'bbc' as channel_name, 'entertainment_pack' as package union all
      select 'bbc' as channel_name, 'extra_pack' as package
     ) p
     on a.channel_name = p.channel_name;

これはNULL、非 BBC チャンネルに対して返されます。pサブクエリに追加のパッケージを追加できます。

于 2013-06-27T01:11:19.793 に答える