Mysql JOINDRE plusieurs tables et sélectionnez plusieurs valeurs

Tout d'abord je tiens à m'excuser pour mon mauvais anglais. J'ai un problème avec plusieurs tables.
Je ne suis pas exactement un newby dans la base de données mySQL monde, mais je ne peux pas trouver un solution pour ce problème.
Pour ce problème, j'ai utiliser 4 tables.

  1. Catégories
  2. Produits
  3. Spécifications
  4. Specificationvalues

Chaque catégorie a des spécifications et des produits et tous les specificationvalues a les produits et les spécifications de l'id.
Désormais, l'utilisateur peut faire une sélection avec des valeurs différentes.
C'est là mon problème.
Lorsque l'utilisateur sélectionne la valeur "verte" et les jambes "4" je veux que tous les produits verts à 4 pattes.
J'ai donc utilisé une JOINTURE (de toutes sortes, je pense) pour sélectionner le bon produit (exemple ci-dessous)

SELECT DISTINCT products.id 
FROM products 
  LEFT JOIN specificationvalues ON specificationvalues.products_id = products.id 
  LEFT JOIN specifications ON specificationvalues.specifications_id = specifications.id 
WHERE specifications.name='materiaal' 
  AND specifications.name='kleur' 
  AND specificationvalues.id='77' 
  AND specificationvalues.id='78'

Le problème est que toutes les valeurs sont en lignes séparées. C'est pourquoi la OÙ ne fonctionne pas. Je n'ai pas d'erreur MySQL de. Seulement qu'elle retourne 0 lignes.

J'espère que quelqu'un pourra m'aider! J'ai eu beaucoup de bonnes choses de ce forum donc j'espère que ça va m'aider à nouveau!


Je ne sais pas pourquoi mes modifications hier où ne sont pas enregistrées. Mais voici mes données:

SPECIFICATIONS Table
ID   CATEGORIES_ID     NAME
38   297               Material
39   297               Measures
40   297               Color

SPECIFICATIONVALUES Table
ID   SPECIFICATIONS_ID  PRODUCTS_ID   VALUE
1    38                 988979        Masive wood 
2    39                 988979        24x57x98
3    40                 988979        Yellow
4    40                 988980        Black
5    39                 388980        24x57x98


PRODUCTS Table
ID         NAME
988979     Table
988980     Chair

Alors maintenant, je veux tout noir produits commercialisés et à mesure 24x57x98. J'espère que vous pourrez m'aider!

InformationsquelleAutor raice | 2012-06-14