Jump to content
Sign in to follow this  
rezhisser

[Решено] Проверка полноты заполнения атрбутов в товарах (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 никак не влияет на запрос

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

 

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

Share this post


Link to post
Share on other sites


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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.