多個更新語句的正確方法我有2個表外面一列/字段是兩個表中一樣,我需要從表B. 這裏表斧值更新與數據表A需要被採取並且與Bw進行比較並且需要在Ax中更新當量Bz值x值從X1不同,X2等。因此,每個值需要被瓦特表B和等效Z值取和相比需要在X,X1,X2等在表A中進行更新什麼是減少甲骨文
Table A (columns j, x, x1,x2,x3..x20 and so on)
---------
j x x1 x2 ..x20 and y y1 y2 .. y20
Table B (columns w and z)
--------
w z
UPDATE TableA a SET a.x = (SELECT b.w
FROM TableB b
WHERE a.x = b.z)
WHERE a.j='somevalue';
如果我這樣寫,我需要寫40更新語句,有沒有什麼簡單的方法來做這些更新。
與子查詢可能返回多行,我需要改進這一點。
感謝, 阿什拉夫
你是說你有一大堆需要在表A和B同列? –
一堆表A列的需要參照表B.表進行比較,因此,這裏比較即時與體重斧,然後取參考值BZ和更新它放回斧。因此,這裏斧,A.x1..A.x20需求與表B中的參考值進行比較和更新回到表格 – blackpanther
乍一看,這看起來像一個可怕的數據庫設計。看起來x1,x2,...最好是行而不是列。無論如何,x1,x2等的更新會如何。 *完全*與x相同,所以我只是用x1替換x等。 –