Главная страница
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.05 c
14-1130343340
Gydvin
2005-10-26 20:15
2005.11.20
Совместимость Wi-Fi and Bluetooth


2-1130670653
тт
2005-10-30 14:10
2005.11.20
Как узнать размер объекта в сантиметрах?


3-1128597127
a80h19
2005-10-06 15:12
2005.11.20
Создание БД через ADO


2-1130685363
Максим
2005-10-30 18:16
2005.11.20
Файлы по сети


4-1126889831
ArtemESC
2005-09-16 20:57
2005.11.20
свойства другого окна