MySQL правильный способ объединения таблиц - PullRequest
0 голосов
/ 15 февраля 2012

У меня есть 3 отдельные таблицы: «объект» (идентификатор, имя, идентификатор модели), «объектная модель» (идентификатор, имя, идентификатор типа) и «тип объекта» (идентификатор, имя).

Как я могу правильно объединить эти три, чтобы получить соответствующие имена из всех таблиц?

Я пытаюсь присоединиться, выполнив следующее:

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

Но получите ошибку:

"Неизвестный столбец 'object.model_type_id' в 'предложении'"

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Ваш столбец называется object_model.type_id. У вас есть точка и подчеркивание в неправильных местах.

LEFT JOIN object_type ON object_type.id = object_model.type_id

В противном случае ваш запрос выглядит так, как будто он будет выполнять то, что вы хотите.

0 голосов
/ 15 февраля 2012

согласно вашей информации у вас нет "model_type_id" в "объекте". То, что у вас есть, это "type_id" в "object_model". Так что я думаю, вы должны изменить

LEFT JOIN object_type ON object_type.id = object.model_type_id

до

LEFT JOIN object_type ON object_type.id = object_model.type_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...