MySQL sélectionnez rejoindre où ET où

J'ai deux tables dans ma base de données:

Produits

  • id (int, clé primaire)
  • nom (varchar)

ProductTags

  • product_id (int)
  • tag_id (int)

Je souhaite sélectionner les produits ayant toutes les étiquettes. J'ai essayé:

SELECT
    *
FROM
    Products
JOIN ProductTags ON Products.id = ProductTags.product_id
WHERE
    ProductTags.tag_id IN (1, 2, 3)
GROUP BY
    Products.id

Mais il me donne les produits ayant tout d'étiquettes, au lieu d'avoir toutes les étiquettes. Écrit WHERE tag_id = 1 AND tag_id = 2 est inutile, parce que pas de lignes sera retourné.

Je ne comprends pas ce que vous êtes après? Avez-vous des soins pour élaborer avec certains de données et d'exemples?

OriginalL'auteur Darrarski | 2011-02-16

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *