Я пытаюсь создать SELECT
на трех реляционных таблицах, подобных этим:
table_materials
-> material_id
- material_name
table_props
-> prop_id
- prop_name
table_materials_props
- row_id
-> material_id
-> prop_id
- prop_value
На моей странице я бы хотел получить такой результат, но у меня возникла проблема с запросом:
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
поэтому запрос должен возвращать что-то вроде:
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
Я думал использовать что-то вроде:
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
проблема в том, что запрос не возвращает значения NULL
, и мне нужен один и тот же порядок prop
для всех materials
независимо от того, имеют ли значения NULL or not
Надеюсь, этот пример понятен!