Requete mysql

chava2b

WRInaute occasionnel
Salut,

Je bloque un peu sur une requete MySQL.

TABLE 1
id nom prenom
1 aaa bbb
2 xxx qqq
3 yyy ddd

TABLE 2
id id_table1 parametre valeur
1 1 taille 170
2 1 poids 70
3 1 cheveu blond
4 2 taille 180
5 3 cheveu brun

Je voudrai sélectionner les nom,prenom de ceux qui n'ont pas de taille définie, en l'occurrence le n°3 yyy ddd

Quelqu'un a til une idée pour m'aider ?

Merci
 

Schwarzer Stern

WRInaute impliqué
Salut,
la structure de table 2 me semble très étrange, alors je l'ai peut-être mal comprise. Mais voici ce que je tenterais :

Code:
select Nom,Prenom from table1 t where exists(select t2.id from table2 t2 where parametre="Taille" and valeur="" and id_table1=t.id)
 

chava2b

WRInaute occasionnel
Salut,

je ne connaissais pas "exists", je suis en train de regarder comment ca fonctionne.

Qu'est ce qui te gène dans la table t2 ?

Sinon, ta requête ne fonctionne pas.
Il me faut retrouver les ceux de t1 où il n'y a pas d'enregistrement parametre="taille" dans t2 (et non parametre="taille" AND valeur="")
 

chava2b

WRInaute occasionnel
au final, en re-expliqnant ce matin, j'ai trouvé ca qui fonctionne

SELECT nom,prenom FROM t1 LEFT JOIN t2 ON t1.id=t2.id_t1 WHERE id_t1 NOT IN (SELECT id_t1 FROM t2 WHERE param='taille')

Probleme resolu

Merci
 

noren

WRInaute accro
As tu tester si cette requête n'était pas trop gourmande ? requêtes imbriquées, jointures etc. on peut parfois avoir des surprises en terme de performance.

Des fois il peut être judicieuse de réfléchir à une structure de tables différentes
Bien différencier le champ taille, poids etc. par exemple me paraîtrait plus judicieuse et aboutirait surement à une requête plus simple.

Je ne suis pas fan d'un champ "paramètre" qui peut être soit la "taille", le "poids", les "cheveux" etc.
J'ai l'impression que ça complexifie les requêtes.
 

noren

WRInaute accro
ah ok au temps pour moi :mrgreen:
En même temps ca parait logique, vu le nombre de types d'articles différents que peut contenir une boutique et donc de paramètres différents. Ca évite également de se retrouver avec des tonnes de champs vides
 

chava2b

WRInaute occasionnel
Exact spout, c'est effectivement pour une eboutique que je passe avec ce système
Les caractéristiques des produits peuvent etre tres différents d'un produit à l'autre et peuvent surtout evoluer.

noren, je suis en train de voir ce que ca va donner au niveau des ressources, mais si je limite bien le nombre de résultats dans la requete et dans la sous-requete je pense que ca va passer.
 

Discussions similaires

Haut