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

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

Расскажите как правильно пишеться 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


Наверх

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