1
我有這樣一個表:的Oracle SQL - 避免遞歸相關更新
A
ID_A ID_1 ID_2
1 1 (null)
2 3 (null)
3 7 (null)
B
ID_B ID_1 ID_2
1 (null) 2
2 (null) 4
3 (null) 6
REF
ID_A ID_B
1 2
3 1
根據裁判表,爲2的ID_A的對象是相同的對象的1
一個ID_B所以,我應該能夠更新表是這樣的:
:A
ID_A ID_1 ID_2
1 1 4
2 3 (null)
3 7 2
事實上,你如果這樣做,查詢得到這一結果
select
A.ID_A, B.ID_1, C.ID_2
from
A, B, REF
where
A.ID_A = REF.ID_A
AND REF.ID_B = B.ID_B
(其實你失去了空行,因爲它是一個內部聯接,但是這不是問題的關鍵。)
什麼我完全無法做的是更新這一新的信息!我要麼獲得「單行子查詢返回多行」更新或可愛的結果,我的查詢是非確定性的合併。
鑑於我確實擁有三張表格,正如我所展示的那樣,如何編寫查詢來正確更新id_2? ;
什麼C.ID_2在查詢? (C不在從句中) – tbone