私はそれが一般的な問題だと感じているので、これを投稿するのは本当に嫌でしたが、この状況に当てはまる回答を見つけることはできません...ちょうど本当に悪いgoogler)。別のテーブルの複合キーに基づいて削除
私は2つの同一のテーブル(データではなく、列である)、table1とtable2を持っています。両方のテーブルに複合キー(col1、col2)が存在するtable1のレコードを削除したいとします。ここに私が持っているものがありますが、これは私には正しいようですが、間違いを投げかけています。
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 ','.
私は '赤いエラー波線' を持っているコードの部分の周囲に2 *
を入れています。
私はこれがSQL-SERVERだと思いますか? – gdoron
はい、申し訳ありません。より具体的であったはずです。ここでは、SQL-SERVERをSQL、OracleをOracleと呼んでいます。 – Jeff
OracleはSQL Serverよりもずっと古く、奇妙な大会ですが...あなたの上司を幸せにするなら、あなたはより豊かです。 – gdoron