2011-04-06 95 views
0

我使用UPDATE更新表中的所有記錄與另一個表中的值:更新多行

UPDATE x.ADR_TEMP SET LOCATIONID = (SELECT ID FROM x.OBJECTRELATIONSHIP WHERE PROPERTYCLASS = 'PHYSICALLOCATION') 
兩個表中

是相同數量的記錄。我只需要從一個表中讀取id並將它們放入另一個表中。

我有錯誤:ORA-01427: single-row subquery returns more than one row

我對這個問題的新猜想的解決方案是非常簡單的。請幫我

+0

x.ADR_TEMP和x.OBJECTRELATIONSHIP與外鍵有任何關係? – Bastardo 2011-04-06 20:56:02

+0

「ADR_TEMP」和「OBJECTRELATIONSHIP」如何相互關聯? – 2011-04-06 20:57:33

回答

0
UPDATE x.ADR_TEMP SET LOCATIONID = (
            SELECT ID 
            FROM x.OBJECTRELATIONSHIP 
            WHERE PROPERTYCLASS = 'PHYSICALLOCATION' AND x.ADR_TEMP.relatedKey = x.OBJECTRELATIONSHIP.relatedKey) 

,如果你的表是有一些這樣的方式相互關聯(relatedKey是關於提到的第二個表中的列),你可以試試這個。(不知道或完善)