Как выбрать записи из таблицы, если их не существует (нужно выбрать товары, у которых какое-либо свойство не заполнено)?
Есть три таблицы:
options
product_options
products
В таблице options есть поля:
id, key, name
В таблице product_options есть поля:
product_id, key, value
В таблице products есть поля:
id, name, image, url
Мне нужно выбрать все товары, у которых не заполнено свойство manufacturer (Производитель). Проблема в том, что если оно не заполнено, то в таблице просто нет записи. А если нет записи, то как мне выбрать товары?
Я попытался помудрить с LEFT JOIN, но не получилось. Ничего не возвращается. Вот мой код:
SELECT po.value as value, o.name as name
FROM options o
LEFT JOIN product_options po ON (po.key = o.key)
LEFT JOIN products p ON (p.id = po.product_id)
WHERE po.value IS NULL
AND po.key = 'manufacturer'