0
votes

Comment répertorier les produits appartenant à plus de 3 catégories privées

Quel est le SQL pour trouver la liste des produits appartenant à plus de 3 catégories privées.

J'ai essayé ceci: xxx

merci!

sql

2 commentaires

Qu'avez-vous essayé? Ceci est un groupe assez basique par requête.


J'ai essayé beaucoup de choses sans de bons résultats.


4 Réponses :


1
votes

Vous avez besoin de chaque sorcière de produit .... Vous devriez donc faire un groupe par productid.also, vous pouvez ajouter d'autres colonnes de produits dont vous avez besoin dans "Sélectionner" et "Groupe par" xxx


3 commentaires

Si vous ne renvoyez que le produit_id, vous pouvez supprimer la relation avec les produits et simplement retourner produit_categories.product_id


oui.mais vous pouvez ajouter d'autres colonnes de produit dans "Select" et "groupe par" si vous en avez besoin


Merci, ça marche, mais il y a une faute de frappe dans la dernière ligne. Pourriez-vous ajouter le manquant "(".



0
votes

Pour obtenir toutes les colonnes de produits:

SELECT products.*
FROM products p
WHERE product_id in (SELECT pc.product_id
                       FROM product_categories pc
                      INNER JOIN categories c ON pc.category_id = c.category_id
                      WHERE c.is_private = 1
                      GROUP BY c.category_id
                     HAVING COUNT(c.category_id) > 3)


0 commentaires

0
votes

Vérifiez cela!

select * from products where product_id in 
(select pc.product_id from product_categories inner join categories c on 
pc.category_id=c.category_id where c.is_private=1 
group by c.category_id having count(c.category_id)>3)


0 commentaires

1
votes

Votre requête serait correcte si vous êtes agrégé par Produits.Product_id Code> - Eh bien, selon la base de données, vous devrez peut-être inclure d'autres colonnes dans le Sélectionnez code>. Mais il est valide SQL supposant que produit_id code> est unique dans cette table.

Si vous voulez seulement les ID du produit, vous n'avez pas besoin du Produits Code> Table: P >

select pc.product_id
from product_categories pc join
     categories c
     on pc.category_id = c.category_id
where is_private = 1
group by pc.product_id
having count(*) > 3;


0 commentaires