私はSELECT
これらのような3つのリレーショナルテーブルを作成しようとしています:
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
この例が明確であることを願っています!