2016-04-21 161 views
-1

我需要連接update語句的where子句中的多個表。精確地說,有兩個主從關係表。我需要更新主表中的一行,但需要檢查其從表中的外鍵條目。需要在sql語句的where子句中使用join?

表A

TableId,Empid,EmpName,EmpAdd 

表B

TableId,Empid,DeptId,DeptName 

當行被插入表A,表B還具有插入。假設我需要更新EmpAddTableA,這應基於兩個表中的列Empid,DeptId,DeptName。所以我想我需要加入兩張桌子。

+2

編輯你的問題,並提供樣本數據和預期的結果。 –

+0

添加表格定義,樣本表格數據和預期結果。同時向我們展示您當前的查詢嘗試。 – jarlh

+0

沒有表格,沒有數據,沒有洞察力。有點像沒有鞋子,沒有服務,但對於數據庫。 –

回答

0

什麼有關檢查EXISTS,而不是連接:

UPDATE tbl_master m 
    SET m.some_column = some_value 
WHERE m.masteID = updatetable_id 
    AND EXISTS (SELECT * FROM tbl_slave s WHERE s.masterID = m.masterID)