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

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

JOIN


race1 ©   (2004-03-23 15:45:00) 

как правильно заджоинить несколько таблиц? такая конструкция не работает, база - Аксес через ADO


SELECT table_1.Name, table_2.Name, table_main.sometext
FROM table_main
LEFT JOIN table_1 ON (table_1.Code = table_main.table_1)
LEFT JOIN table_2 ON (table_2.Code = table_main.table_2)

говорит что пропущен оператор между первой скобкой и вторым join'ом


sniknik   (2004-03-23 16:05:00) [1]

для аксесс джойны должны быть вложенные (в скобочках один от другого)

хелп
Операции 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.


race1   (2004-03-23 15:56:00) [2]

неудачные названия просто :) лучше так:

table_main.table_1_ID
table_main.table_2_ID


race1   (2004-03-23 15:50:00) [3]

ставил and и запятую - неработает


Плохиш   (2004-03-23 15:50:00) [4]


> menart ©   (23.03.04 15:48) [1]
> попробуй поставить and ...

Какой "and"?

>race1 ©   (23.03.04 15:45)

> LEFT JOIN table_1 ON (table_1.Code = table_main.table_1)
> LEFT JOIN table_2 ON (table_2.Code = table_main.table_2)

Сам-то понял, что написал?


Fay   (2004-03-23 15:49:00) [5]

Куда? 8)


menart   (2004-03-23 15:48:00) [6]

попробуй поставить and ...


Наверх

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