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

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

SQL запрос в Access и SQL Server [D5]


Alex Y ©   (2003-04-17 08:07:00) 

Tab1:
F1
F2
F3

Tab2:
F1
F4

Tab3:
F2
F5

Делаю запрос в Access-е:
SELECT F5, F4, Sum(F3) As F3 FROM Tab1 t1
INNER JOIN Tab2 t2 ON t1.F1 = t2.F1
INNER JOIN Tab3 t3 ON t1.F2 = t3.F2
Where ....
Group By F5, F4 Order By F5, F4

Выдает ошибку:
Ошибка синтаксиса (пропущен опрератор) в выражении запроса "t1.F1 = t2.F1 INNER JOIN Tab3 t3 ON t1.F2 = t3.F2".

В SQL Server 2k этот запрос работает.

Заранее благодарен.


sniknik   (2003-04-17 08:38:00) [1]

так синтаксис то может быть разный.

из хелпа по Jet(Access)

Чтобы связать несколько предложений ON в инструкции JOIN, используйте следующий синтаксис:

SELECT поля
FROM таблица_1 INNER JOIN таблица_2
ON таблица_1.поле_1 оператор таблица_2.поле_1 AND
ON таблица_1.поле_2 оператор таблица_2.поле_2) OR
ON таблица_1.поле_3 оператор таблица_2.поле_3)];

Операции JOIN могут быть вложенными; в таком случае используйте следующий синтаксис:

SELECT поля
FROM таблица_1 INNER JOIN
(таблица_2 INNER JOIN [( ]таблица_3
[INNER JOIN [( ]таблица_X [INNER JOIN ...)]
ON таблица_3.поле_3 оператор таблица_X.поле_X)]
ON таблица_2.поле_2 оператор таблица_3.поле_3)
ON таблица_1.поле_1 оператор таблица_2.поле_2;

Операции LEFT JOIN или RIGHT JOIN могут быть вложены в операцию INNER JOIN, но операция INNER JOIN не может быть вложена в LEFT JOIN или RIGHT JOIN.


Наверх

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