-
Столкнулся с проблемой следующего характера... переехали на новую 5-ю версию mysql и отвалились часть запросов, в частности запрос SELECT app.*, pt.*, es.name as 'pr.rad_engine_size' FROM application as app, part_type as pt LEFT JOIN engine_size as es ON app.engine_size_id=es.id WHERE app.part_type_id=pt.id
стал выдавать: Unknown column 'app.engine_size_id' in 'on clause' раньше все работало ОК в чем причина, как решить эту проблему?
-
app.*, pt.* А если явно поля указать?
-
> А если явно поля указать?
Пробовал, тоже самое...
-
А ну усе понял, криво написан запрос,
SELECT app.*, pt.*, es.name as 'pr.rad_engine_size' FROM application as app LEFT JOIN engine_size as es ON app.engine_size_id=es.id , part_type as pt WHERE app.part_type_id=pt.id
типа LEFT JOIN должен идти сразу за таблицей с которой связывается
-
Для начала использовать только явные соединения, а не мешать в кучу явные и неявные. Т.е. SELECT app.*, pt.*, es.name as 'pr.rad_engine_size'
FROM application as app, part_type as pt
JOIN part_type as pt ON app.part_type_id=pt.id
LEFT JOIN engine_size as es ON app.engine_size_id=es.id
-
SELECT app.*, pt.*, es.name as 'pr.rad_engine_size' FROM (application as app, part_type as pt) LEFT JOIN engine_size as es ON app.engine_size_id=es.id WHERE app.part_type_id=pt.id
|