このクエリは値をnull
提供してaccessories_type.type
いますが、このテーブルには値があります:
SELECT accessories.id, accessories.name, accessories_type.type
FROM accessories
LEFT JOIN accessories_type ON accessories_type.type = accessories.accessories_type_id;
あなたのクエリは少し奇妙です。句の値accessories_type.type
はselect
、結合に使用される値と同じです。
型テーブルに重複する行がないと仮定すると、次のようにして同じ効果を得ることができます。
select id, name, accessories_type_id
from accessories
クエリはさらに、2 番目のテーブルで一致を探しています。一致がない場合は、NULL になります。
通常、私はのようなものを期待accessories_type.typename
しselect
ます。これは私にアイデアを与えます。おそらくあなたは本当に意味します:
SELECT accessories.id, accessories.name, accessories_type.type
FROM accessories
LEFT JOIN accessories_type ON accessories_type.id = accessories.accessories_type_id;
つまり、 に参加する必要がありますid
。あなたは に参加していますがname
、一致するものはありません (一般的に)。