Главная страница
    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.042 c
1-1130402074
Rentgen
2005-10-27 12:34
2005.11.20
Загрузка формы из библиотеки?


14-1130186619
LordOfRock
2005-10-25 00:43
2005.11.20
Меня флудят :(((


1-1130366375
Mister
2005-10-27 02:39
2005.11.20
реестр и Delphi


1-1130247302
DinoRay
2005-10-25 17:35
2005.11.20
Как изменить FileVersion в файле *.res?


9-1120194150
@!!ex
2005-07-01 09:02
2005.11.20
Direct X Alpha Blending и VertexFog





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский