我一直都不願意發佈此,因爲我覺得這是一個常見的問題,但我似乎無法找到適用於這種情況的一個答案......(也許我只是一個非常糟糕的Google員工)。刪除基於另一個表中的複合鍵
我有兩個相同的表(逐列,而不是數據),Table 1和Table。我希望刪除table1中兩個表中存在組合鍵(col1,col2)的記錄。這是我所擁有的,這對我來說似乎是正確的,但卻是拋出一個錯誤。
DELETE FROM Table1
WHERE (**Col1**, Col2) IN
(SELECT Col1, Col2
FROM Table1 a
JOIN Table2 b
ON a.Col1 = b.Col1
AND a.Col2 = b.Col2)
錯誤:
Msg 4145, Level 15, State 1, Line 212 An expression of non-boolean type specified in a context where a condition is expected, near ','.
我已經放了兩個*
其中有 '紅色錯誤的波浪線' 的代碼部分的周圍。
我相信這是SQL-SERVER? – gdoron
是的,對不起。應該更具體。在這裏,我們只是將SQL-SERVER稱爲SQL,將Oracle稱爲Oracle。 – Jeff
因爲Oracle比sql-server要「老」許多,但是......如果它讓你的老闆開心,並且你更富有,爲什麼不呢? – gdoron