Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.039 c
4-1127114536
Руслан
2005-09-19 11:22
2005.11.20
А можно ли программно из Windows


8-1119852046
Chaser
2005-06-27 10:00
2005.11.20
Подскажите как качественно уменьшить размер картинки


14-1130523052
Gero
2005-10-28 22:10
2005.11.20
Оцените компонент


14-1130313113
БарЛог
2005-10-26 11:51
2005.11.20
Математические приколы


3-1128676210
Zhekson
2005-10-07 13:10
2005.11.20
Можно ли вставить картинку в DBGrid???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский