Перейти к содержанию
rezhisser

[Решено] Проверка полноты заполнения атрбутов в товарах (SQL запрос)

Рекомендуемые сообщения

Всем привет!

 

Решаю такую задачу

 

Для каждой категории у меня есть список обязательных атрибутов, которые должны быть в товаре

 

Необходимо проверить все товары на наличие в них обязательных атрибутов

 

Решение - отобрать товары с определенной категории у которых нет хотя бы одного атрибута из обязательных

 

Написал такой запрос:

SELECT oc_product_attribute.product_id, oc_product_attribute.attribute_id
FROM oc_product_to_category
INNER JOIN oc_product_attribute ON oc_product_attribute.product_id = oc_product_to_category.product_id
WHERE category_id =  "118"
AND (
attribute_id !=  "15"
OR attribute_id !=  "14"
OR attribute_id !=  "21"
OR attribute_id !=  "35"
)
GROUP BY product_id

Но решение почему-то не рабочее.

 

Все что после AND никак не влияет на запрос

 

Помогите, плиз, составить правильно запрос

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а если с count() и having count < 4 ?

 

что-то не получилось составить корректный запрос с count()

 

К тому же думаю он мне не очень подойдет, так как по мимо обязательных атрибутов товар может иметь и не обязательные. 

И когда, напрмиер, будет 3 обязательных и 1 не обязательный, то этот товар не отберется через запрос с count()

 

Если я правильно понял, что вы имели в виду)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


SELECT count(*) 'count', product_id

FROM oc_product_to_category

INNER JOIN oc_product_attribute ON oc_product_attribute.product_id = oc_product_to_category.product_id

WHERE category_id = "118"

AND attribute_id IN("15", "14", "21", "35")

GROUP BY 2

having `count`< 4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо!  То что нужно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.