我正在嘗試爲一個新表準備數據,這個數據表是來自現有表的相同數據,但是是非規範化的。我有一個簡單的場景,但我的心是在返回的結果Oracle SQL查詢非規範化
它是基於以下簡化方案的最有效的方法一片空白:
Table X | Table y
id | id Identifier Value
123 | 123 1 A
| 123 2 B
隨着從表XI其它字段需要我查詢返回:
123 A B
我已經考慮:
解決方案一
select
id,
(select Value...),
(select Value...)...
解決方案二:
select id,
y1.Value,
y2.Value
from x, y y1, y y2...
解決方案三:利用PL/SQL和通過遊標
解四迭代 : 提取Y考慮identifyer1和identifier2(潛在使用觸發器)兩個表,並加入查詢中的那些表,而不是
這些解決方案都有一個主要缺點,出於某種原因,我確信有一個詞可以讓我想起一個公司除了解決這個問題
通過你的輸出例子來看,你必須在表Y.所有的信息或者你可以通過ID加入X和Y使用Listagg()或WM_Concat(10g)來連接來自表Y的值,而不是透視。不需要PL/SQL。 – Art 2013-02-28 21:49:37