/ / Як знайти кожен запис у заданому списку значень, який не існує в таблиці mysql? - mysql

Як знайти кожен запис у заданому списку значень, що не існує в таблиці mysql? - mysql

Спочатку у мене є таблиця mysql, що містить дані про продукти, включаючи код EAN (нічого особливого, лише числовий код).

По-друге, у мене є список значень коду EAN. Цей список не зберігається в жодній таблиці, він створений за допомогою введення користувачем.

Чи є спосіб знайти кожен EAN-код із мого списку, який НЕ існує в таблиці продуктів, без попереднього зберігання списку EAN в таблиці?

Наприклад, припустимо такі дані в таблиці продуктів:

id: 1, ean: 12345
id: 2, ean: 23456

І список для порівняння:

12345,23456,88888,99999

У цьому випадку бажаний результат був би

88888,99999.

Відповіді:

0 для відповіді № 1

Ось рішення:

SELECT tmp_list.ean FROM (
SELECT 12345 AS ean UNION
SELECT 23456 AS ean UNION
SELECT 88888 AS ean UNION
SELECT 99999 AS ean
) AS tmp_list
WHERE ean NOT IN (
SELECT ean FROM table_name
)

Це може бути корисно, якщо у вас є менша кількість елементів списку.