![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.