Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

Всем привет!

 

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

 

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

 

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

 

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

 

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

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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.