ある表から特定のフィールドのビューを作成しようとしています。制限のため、ビューはこの形式である必要があります。Oracle - 表示、異なる列の値を1つの列に表示
Employeeテーブルを呼び出してみましょう。 Categoryフィールドの値がAならば、Info1フィールドを表示するためのビューが必要です。Categoryフィールドの値がBの場合、代わりにInfo2値が必要です。
Create View Emp as Select name, category, info from
(select name, category, info1 from employee where category='A')
UNION
(select name, category, info2 from employee where category <>'A')
私の理解では、しかし、私の見解では、多くの分野があり、クエリは労働組合との長いだろう、これは労働組合で行うことができるということです。同じ結果を達成する別の方法はありますか?おそらくDECODEメソッドを通じて?
Name ID Category Info1 Info2 </h1>
Max 11 A VIP Present
---
Sandra 22 A VIP XXX
---
Lou 33 B Regular XXX
---
Pat 44 B VIP XXX
---
ありがとうございます。私はCASEオプションを使用することを考えていませんでした。私は組合にそれを間違いなく好む。 私の要件は、カテゴリ値に基づいて異なる列を表示するだけです。 UNION ALLとCASEオプションの間のパフォーマンスを比較し、UNIONがより速い結果を出す場合は、UNION ALLを使用します。助けてくれてありがとう。 – user3144072
@ user3144072 - yw - 幸運。 – Hogan