Je suis en train de faire un SELECT
sur trois tables relationnelles comme ceux-ci:requête pour la liste des accessoires avec ou sans valeurs
table_materials
-> material_id
- material_name
table_props
-> prop_id
- prop_name
table_materials_props
- row_id
-> material_id
-> prop_id
- prop_value
Sur ma page, je voudrais obtenir un résultat comme celui-ci, mais J'ai un problème avec la requête:
material prop A prop B prop C prop D prop E
wood 350 NULL NULL 84 16
iron NULL 17 NULL NULL 201
copper 548 285 99 NULL NULL
de sorte que la requête doit retourner quelque chose comme:
material prop_name prop_value
wood prop A 350
wood prop B NULL
wood prop C NULL
wood prop D 84
wood prop E 16
// and go on with others rows
je pensais utiliser quelque chose comme:
SELECT *
FROM table_materials AS m
INNER JOIN table_materials_props AS mp
ON m.material_id = mp.material_id
INNER JOIN table_materials_props AS p
ON mp.prop_id = p.prop_id
ORDER BY p.prop_name
le problème est la requête ne renvoie pas les NULL
valeurs, et je dois même prop
pour que tous les materials
indépendamment des valeurs de prop sont NULL or not
I espérons que cet exemple est clair!
-vous une liste fixe des « accessoires » dans votre table liée juste 5, ou était-ce juste un exemple ... Si fixé, serait votre intention que le nombre de "les accessoires" seraient étroitement contrôlés, et donc limités pour créer vos résultats de style de tableau croisé? – DRapp
le nombre d'accessoires pourrait augmenter, j'ai donc décidé d'utiliser cette structure. – vitto