我試圖從一個表創建某些字段的視圖。由於受到限制,視圖必須採用此格式。Oracle - 查看,顯示來自不同列的一列值
我們來調用表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 ALL。謝謝您的幫助。 – user3144072
@ user3144072 - yw - 祝你好運。 – Hogan