![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Расскажите как правильно пишеться inner Join в accsess [D7]
SergeyI © (2004-05-21 17:07:00)Уважаемые All, все время писал под MS Sql,а по теперешней задачи
надо написать в под Accsess как правильно переписать запрос чтобы работало в нём
Select t1.f1,t2.f1,t3.f1
From t1 inner join t2 on t1.idt2 = t2.id
inner join t3 on t1.idt2 = t3.id
в MS SQL такая конструкция работает в Accsess нет - ошибка в операторе JOIN
sniknik (2004-05-21 18:44:00) [1]iif(isNull(поле),Значение, поле)
SergeyI (2004-05-21 17:15:00) [2]спасибо за ответы
и вдогонку подскажите аналог функции isNull(поле,Значение)
sniknik (2004-05-21 17:12:00) [3]Чтобы связать несколько предложений 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.
Johnmen (2004-05-21 17:11:00) [4]Видимо не переваривает два и.джоина. А синтаксис соответствует SQL92.
Просто пиши вместо них
From t1, t2, t3
Where (t1.idt2 = t2.id ) and (t1.idt2 = t3.id)
Sandman25+1 (2004-05-21 17:10:00) [5]Там надо скобки расставить, только не помню точно как. Вроде
Select t1.f1,t2.f1,t3.f1
From (t1 inner join t2 on t1.idt2 = t2.id)
inner join t3 on t1.idt2 = t3.id