У меня есть база данных, в которой хранится информация об автомобилях. Есть 3 таблицы, которые не имеют внешних ключей:Mysql left join multiple tables
макияж (make_ID, имя, ..)
цвета (colour_id, c_name, ...)
двигатель (engine_id, eng_size ,. ..)
Там в четвёртом таблица, которая соединяет все остальные вместе с помощью внешних ключей (FK):
carDetails (CarDetails_ID, CD_make_ID, CD_colorID, ...)
Теперь я хотел бы использовать левые соединения для получения соответствующей информации из таблиц об автомобиле, используя идентификаторы в запросе.
В идеале я хотел бы выбрать make.name WHERE make.make_ID = carDetails.CD_make_ID и т. Д. И продолжать добавлять дополнительную информацию слева. Я пробовал это, и я получаю ошибки в предложении «где» ... видимо, его нельзя распознать.
SELECT name FROM make WHERE 'make.make_ID' = 'carDetails.CD_make_ID' LEFT JOIN colour.name WHERE colour.colour_ID = carDetails.CD_colour_ID
Что я делаю неправильно?
могли бы вы предоставить запрос, который вы сейчас используете? – acupajoe
До сих пор я только следующее ... SELECT имя FROM 'make' WHERE 'make.make_ID' = '' carDetails.CD_make_ID LEFT JOIN' colour.name' WHERE colour.colour_ID = carDetails.CD_colour_ID – JumpMan247
Возьмем Посмотрите на ответ Даниэля. Проблема с вашим запросом заключается в том, что вы пытаетесь указать WHERE, но вы еще не задали свой запрос 'carDetails'. Вы должны сделать свое соединение, чтобы получить эти данные, прежде чем вы сможете развернуть, используя/like/etc. – acupajoe