Salut à tous,
j'ai deux tables
TABLES :
type_matérielle :
id_type_materielle______type_materielle
_______ 1 _______ _______ _______ PC _______
_______ 2 _______ _______ _______ HDD ______
_______ 3 _______ _______ _______ CPU ______
_______ 4 _______ _______ _______ MB _______
_______ 5 _______ _______ _______ RAM ______
type_d1_type :
id_type_d1_type ____ id_type_materielle ____ id_type_materielle2
______ 1 _________________ 1 ____________________ 2 ______
______ 2 _________________ 1 ____________________ 3 ______
______ 3 _________________ 1 ____________________ 4 ______
______ 4 _________________ 1 ____________________ 5 ______
______ 5 _________________ 1 ____________________ 5 ______
je voudrais donc récupérer par une requête tous les types associés au type PC, ce qui donnerait :
J'ai essayer différentes requêtes mais je ne parviens pas à trouver celle qui m'affichera le bon résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7TypePC --------------- HDD CPU MB RAM RAM
Voici ma requête :
ce qui m'affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT type_d1_type.id_type_materielle2 as TypePC FROM type_materielle,type_d1_type WHERE type_materielle.id_type_materielle=1 AND type_materielle.id_type_materielle = type_d1_type.id_type_materielle
Mais ceci est l'id et non le type associé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Mat ------- 2 3 4 5 5
J'ai donc fait une autre requête qui m'en approche mais toujours fausse :
ce qui me donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT type_materielle FROM type_materielle WHERE id_type_materielle IN ( SELECT type_d1_type.id_type_materielle2 FROM type_materielle,type_d1_type WHERE type_materielle.id_type_materielle=1 AND type_materielle.id_type_materielle = type_d1_type.id_type_materielle )
Il me manque donc un ligne RAM
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6type_materielle ------------------ HDD CPU MB RAM
SOLUTION
Merci encore à tous pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT tm2.type_materielle FROM (type_materielle tm1 INNER JOIN type_d1_type d1 ON d1.id_type_materielle = tm1.id_type_materielle) INNER JOIN type_materielle tm2 ON tm2.id_type_materielle = d1.id_type_materielle2 WHERE tm1.type_materielle = 'PC'
Partager