2013-08-25 35 views
-1

基本上我有一個更新聲明,它需要更新表中的兩個字段,但依賴於where子句引用數據庫中的其他表。更新聲明與其他表在哪裏條款

例如。

UPDATE TABLE_ONE 
SET VALUE_ONE=1,VALUE_TWO=2 
WHERE TABLE_TWO.ID = 1818 AND TABLE_TWO.POSITION = TABLE_THREE.ID AND TABLE_ONE = TABLE_THREE.VALUE = TABLE_ONE.ID; 

我的問題是如何成功地做到這一點。目前,我在where子句的第一個參數上得到未知的列異常。

我希望這很清楚。任何幫助將不勝感激。

+1

到底是什麼問題? –

+0

編輯我的問題。對不起 – StuStirling

回答

1

很難說沒有看到表模式爲您的所有表,但你可以嘗試重寫您的更新這樣

UPDATE table_one t1 JOIN table_three t3 
    ON t1.id = t3.value JOIN table_two t2 
    ON t3.id = t2.position 
    SET t1.value_one = 1, value_two = 2 
WHERE t2.id = 1818 
+0

完美,正是我所尋找的。非常感謝 – StuStirling

+0

@ DiscoS2你非常歡迎。祝你好運 :) – peterm