Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Траблы с LEFT JOIN [MySQL]


Шмелъ ©   (2008-04-16 10:44:00) 

Столкнулся с проблемой следующего характера...
переехали на новую 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'
раньше все работало ОК
в чем причина, как решить эту проблему?


easy   (2008-04-16 10:59:00) [1]

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


Johnmen   (2008-04-16 10:58:00) [2]

Для начала использовать только явные соединения, а не мешать в кучу явные и неявные.
Т.е.
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


Шмелъ   (2008-04-16 10:56:00) [3]

А ну усе понял, криво написан запрос,

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 должен идти сразу за таблицей с которой связывается


Шмелъ   (2008-04-16 10:51:00) [4]


> А если явно поля указать?


Пробовал, тоже самое...


Ega23   (2008-04-16 10:46:00) [5]

app.*, pt.*
А если явно поля указать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо