我有3个单独的表:'object'(id,name,model_id),'object_model'(id,name,type_id)和'object_type'(id,name)。
如何正确加入这三个以从所有表中获取适当的名称?
我正在尝试通过执行以下操作加入:
SELECT object.id AS id, object.name AS name, object_model.name AS model_name, object_type.name AS type_name
FROM object
LEFT JOIN object_model ON object_model.id = object.model_id
LEFT JOIN object_type ON object_type.id = object.model_type_id
但是得到错误:
“on clause”中的“未知列'object.model_type_id'”
答案 0 :(得分:1)
您的专栏名为object_model.type_id
。你在错误的地方有点和下划线。
LEFT JOIN object_type ON object_type.id = object_model.type_id
否则,您的查询看起来会像您希望的那样。
答案 1 :(得分:0)
根据您的信息,您在“对象”中没有“model_type_id”。你拥有的是“object_model”中的“type_id”。所以我想你应该改变
LEFT JOIN object_type ON object_type.id = object.model_type_id
到
LEFT JOIN object_type ON object_type.id = object_model.type_id