Я действительно неохотно публиковал это, потому что я чувствую, что это общая проблема, но я не могу найти ответ, который относится к этой ситуации... (может быть, я просто плохой гуглер).
У меня есть две идентичные таблицы (столбцы, а не данные), table1 и table2. Я хочу удалить записи в таблице 1, в которых объединенный ключ (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 Выражение небулевого типа, указанное в контексте, где ожидается условие, рядом с ','.
Я поставил два *
вокруг части кода, которая имеет "красные ошибки".