Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Access. JOIN более 2 таблиц   Найти похожие ветки 

 
msguns ©   (2005-10-06 12:26) [0]

Конструкция типа

SELECT M.ID, M.ID1, M.ID2, D1.NAME, D2.NAME
  FROM MASTER M
  LEFT JOIN DETAL1 D1 ON (M.ID1=D1.ID)
  LEFT JOIN DETAL2 D2 ON (M.ID2=D2.ID)

в акцесе не катит.
В справке по джету написано

Операции LEFT JOIN, RIGHT JOIN
Объединяют записи исходных таблиц при использовании в любом предложении FROM.

Синтаксис
FROM таблица_1 [ LEFT | RIGHT ] JOIN таблица_2
   ON таблица_1.поле_1 оператор таблица_2.поле_2


Выходит, что нельзя объединить более 2-х таблиц ?

Можно, конечно, через вложенные запросы, но, если полей много, запрос получается монстроидальным.

Как красивше ?

Спасибо за помощь и советы


 
sniknik ©   (2005-10-06 12:28) [1]

синтаксис Access отличается от других sql серверов см. справку. (в другом твоем вопросе писал где искать)


 
isasa ©   (2005-10-06 12:33) [2]

Access. Конструктор запросов???


 
msguns ©   (2005-10-06 12:33) [3]

>sniknik ©   (06.10.05 12:28) [1]
>синтаксис Access отличается от других sql серверов

Это я давно уже понял ;)))

>см. справку.

Все глаза проглядел ;))

Т.е. получается, что джойнить можно только 2 таблицы, эге ж ?


 
Курдль ©   (2005-10-06 12:42) [4]

А если извратиться типа :

select * from D1 right outer join M on ... left outer join D2 on ...


 
Romkin ©   (2005-10-06 12:58) [5]

Скорее, по-старому:
SELECT M.ID, M.ID1, M.ID2, D1.NAME, D2.NAME
 FROM (MASTER M LEFT JOIN DETAL1 D1 ON M.ID1=D1.ID)
   LEFT JOIN DETAL2 D2 ON M.ID2=D2.ID  


 
msguns ©   (2005-10-06 12:59) [6]

>isasa ©   (06.10.05 12:33) [2]
>Конструктор запросов???

Ну конечно же !!!

Решение:

SELECT M.ID, M.ID1, M.ID2, D1.NAME AS D1NAME, D2.NAME AS D2NAME
  FROM
    (M LEFT JOIN D1 ON (M.ID1=D1.ID))
    LEFT JOIN D2 ON (M.ID2=D2.ID)

и хоть надцать таблиц !

А все потому, что считаю себя настолько "грамотным", что вообще не пользуюсь конструктором, а сразу перехожу в сиквель-моду ;))

Спасибо большое !


 
Seg   (2005-10-06 13:58) [7]

А что такое "конструктор запросов"?


 
isasa ©   (2005-10-06 15:12) [8]

:)
Окно "База данных" -> Закладка "Запросы"+Кнопка "Конструктор" ="Конструктор запросов""


 
msguns ©   (2005-10-06 15:18) [9]

Правда, к нему надо приноровиться ;))
В частности, при создании связанных запросов большое значение имеет последовательность выбора таблиц. За ID таблиц конструктор хватается мертвой хваткой ;). Так, что потом без правки "ручками" в сиквел-моде не обойтись ;(



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
14-1130308675
Игорь Шевченко
2005-10-26 10:37
2005.11.20
Кто-нибудь из москвичей идет на SEC(R) ?


3-1128666713
Ищущий
2005-10-07 10:31
2005.11.20
создание cdx


2-1130837000
Dush
2005-11-01 12:23
2005.11.20
рисование на StringGrid


3-1128676294
Пономарев Андрей
2005-10-07 13:11
2005.11.20
Сохранение в DBF


2-1131200278
Dot
2005-11-05 17:17
2005.11.20
Поиск файлов