Для начала: всегда используйте стандартное соединение (с ключевым словом on
), а не неявное объединение старой школы (с запятыми в предложении from
): этот старый синтаксис уже не пользуется популярностью десятилетия назад go и не должен использоваться в новом коде.
Тогда: вам нужно несколько условий like
, а не in
. Если у вас много значений, сопоставление регулярных выражений удобно для сокращения синтаксиса:
SELECT p.id_product,pl.name
FROM ps_product p
INNER JOIN ps_product_lang pl ON p.id_product = pl.id_product
WHERE
p.id_manufacturer not in (3, 7, 10, 11, 13, 14, 19, 22, 23, 24, 25, 30, 31, 32, 33, 34, 37, 38, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
AND pl.name not regexp 'OLP|LicSAPk|SPLA|SA OLP'
Обратите внимание, что я использовал псевдонимы таблиц, чтобы сократить синтаксис. Я также удаляю обратные кавычки вокруг идентификаторов: в большинстве случаев они не нужны и просто делаю запрос менее простым (вы можете добавить их обратно, если это вызывает проблемы).