Спочатку у мене є таблиця 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
)
Це може бути корисно, якщо у вас є менша кількість елементів списку.