Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Вопрос по ADOQuery   Найти похожие ветки 

 
BillyJeans   (2006-02-21 13:54) [0]

Почему выполнение следующего кода:

ADOQuery.SQL.Clear;
ADOQuery.SQL.Add("SELECT Table1.*, Table2.Name AS Name, Table3.X AS X");
ADOQuery.SQL.Add(" FROM Table1 LEFT JOIN Table2 ON Table1.RouteID = Table2.ID ");
ADOQuery.SQL.Add(" LEFT JOIN Table3 ON Table1.StopID = Table3.ID ");
ADOQuery.SQL.Add(" WHERE RouteID="+IntToStr(Value));
ADOQuery.SQL.Add(" ORDER BY Table1.SOrder");
ADOQuery.Open;

Выдает сообщение об ошибке:
Ошибка синтаксиса (пропущен оператор) в выражении запроса "Table1.RouteID = Table2.ID LEFT JOIN Table3 ON Table1.StopID = Table3.ID"
?


 
msguns ©   (2006-02-21 14:01) [1]

..FROM Table1 LEFT JOIN Table2 ON (Table1.RouteID = Table2.ID)..


 
msguns ©   (2006-02-21 14:03) [2]

Ооо.. Да это еще не все..
Для объединения с более чем одной таблицей надо использовать вложенный (через "()") джоин


 
BillyJeans   (2006-02-21 14:23) [3]

приведи пример вложенного джоин


 
BillyJeans   (2006-02-21 14:25) [4]

MySQL проглатывает эту запись на ура, а вот ADO в связке с Access плюётся :-(


 
msguns ©   (2006-02-21 14:31) [5]

Не пишу в этот форум готовых сиквелей. Принципиально.
Подскажу: вложенные джоины делаются аналогично вложенным селектам.

"Тренеруй" сиквели в самом акцесе - будет быстрее.


 
BillyJeans   (2006-02-21 14:42) [6]

Так джоин то не вложенный... В запросе требуется добавить к полям одной Table пару полей из других, вот!
Access суксь, сам и тренируй


 
msguns ©   (2006-02-21 15:06) [7]

>BillyJeans   (21.02.06 14:42) [6]
>Так джоин то не вложенный..

Правильно. Ты [2] читал ?
Если используешь акцес, то и подходи к нему с его заморочками, а не мускульными.

Написать запрос типа

Select A.*, B.Pole From (Select .. From T1 .. Left Join T2 On (T1.id=T2.id)) A
  Left Join T3 On (A.id=T3.id))

а потом "преобразовать" его в единственному селекту, но вложенному джоину слабо ?
Проверить работу запроса можно в самом акцесе. Если он там пройдет, почти гарантия, что его "возьмет" и ADO



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
15-1139882271
Arazel
2006-02-14 04:57
2006.03.12
Автоматическое построение блок схем, по исходному коду программы


2-1140617744
Silica
2006-02-22 17:15
2006.03.12
Сканер


15-1140096437
DELORAC
2006-02-16 16:27
2006.03.12
Защита программы!


2-1140710609
mozgan
2006-02-23 19:03
2006.03.12
ВСЕХ КОДЕРОВ С 23 ФЕВРАЛЯ !!!!!!!


2-1140519256
BillyJeans
2006-02-21 13:54
2006.03.12
Вопрос по ADOQuery