|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 10 ![]() |
Bonjour,
Je rencontre un problème sur la conception de ma bdd. Je vous explique. J'ai une table 'users' avec id/nom/prenom. Et une autre table 'categorie' avec id/cat/value Par exemple: table user 1/pierre/dupont 2/paul/richard table categorie 1/3/6 1/3/8 1/5/5 2/3/6 2/4/9 ... Admettons que je cherche les users qui dans la categorie 3 ont la value 6 ou 8: Code :
SELECT DISTINCT tab1.id, tab1.prenom, tab1.nom FROM users AS tab1 INNER JOIN categorie AS tab2 ON tab1.id = tab2.id WHERE tab2.cat = 3 AND tab2.value IN (6,8) Comment puis je faire? Il y a la solution de faire plusieurs INNER JOIN: Code :
SELECT DISTINCT tab1.id, tab1.prenom, tab1.nom FROM users AS tab1 INNER JOIN categorie AS tab2 ON tab1.id = tab2.id INNER JOIN categorie AS tab3 ON tab1.id = tab3.id WHERE (tab2.cat = 3 AND tab2.value = 6) AND (tab3.cat = 3 AND tab3.value = 8) Donc voilà où j'en suis. Il y a sûrement une solution beaucoup plus simple mais là je ne vois pas. Si quelqu'un à une idée je suis preneur. Merci et bonne fêtes de fin d'année. |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
Bonjour,
Tu peux faire ainsi: Code SQL :
Tatayo. |
||
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 10 ![]() |
Merci tatayo.
Bien vu.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com