Перенести только те записи из таблицы_1 в таблицу_2, которых ещё нету в таблице_2 (MSSQL)

Мой запрос берет title, author_id из таблицы supply и author соответственно. Если в таблице book нет записей с такими полями сделать INSERT данных.

INSERT INTO book(title, author_id, price, amount) SELECT title,
> author_id, price, amount FROM supply INNER JOIN author ON
> supply.author = author.name_author WHERE title,author_id NOT IN
> (SELECT author_id,title FROM book)

Ругается на title в WHERE. Текст ошибки : "An expression of non-boolean type specified in a context where a condition is expected, near ','." мои таблицы


Ответы (1 шт):

Автор решения: Марина Архипцева

В таких конструкциях, где несколько значений проверяются они тоже должны браться в скобки:

WHERE (title,author_id) NOT IN (SELECT author_id,title FROM book)
→ Ссылка