powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать запрос с двух таблиц, если...
12 сообщений из 12, страница 1 из 1
Как сделать запрос с двух таблиц, если...
    #32226374
Фотография Vadim Kutuzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Как сделать запрос из двух таблиц, если в одной есть данные, а в другой нет, а надо видеть все данный, причём таким образом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Table  1 
Date           Value
 10 . 07 . 2003       100 
 11 . 07 . 2003       200 

Table  2 
Date           Value
 11 . 07 . 2003       300 


Надо получить такой запрос:

Код: plaintext
1.
2.
Table1.Date          Table1.Value             Table2.Date              Table2.Value  
 10 . 07 . 2003             100 
 11 . 07 . 2003             200                        11 . 07 . 2003                 300 


Как это сделать? Сорри за ламерскй вопрос :)
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226393
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT table1.*, table2.*
FROM table1 LEFT JOIN table2 ON table1.date = table2.date;
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226424
Фотография Vadim Kutuzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha_1
Спасибо. Это уже кое-что!
Но а если таблицы будут названы наоборот, то запрос выдаст пустую строку...
Full Outer Join Access не поддерживает, вроде как... Тогда как всё-таки сделать запрос, чтобы в любом случае можно было бы получить результат моего первого сообщения?
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226437
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Union из Left Join и Right Join
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226457
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или если более подробно, то посмотри здесь
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226471
Фотография Vadim Kutuzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лох Позорный
А если у меня 10 таблиц, чтобы быть уверенным в правильности результата, мне придётся 11 запросов делать тогда - 10 запросов и одно объединение? А если у меня 100 таблиц? Хех...

К тому же твой вариант покажет мне 2 строчки за 11.07.2003... Как избавится от повтора результата?

И неужели нет более приемлимого результата?
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226486
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Как избавится от повтора результата?
union не выводит повторов

>И неужели нет более приемлимого результата?
я же дал ссылочку. вряд ли с тех пор кто-то что-то новое придумал.
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226495
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если тебе нужно Full Outer Join из 100 таблиц - надо что-то в консерватории менять.
Про повторы Саша уже сказал
В один запрос (Union) можно запихать все что угодно. Так что 10 запросов и одно объединение - на фиг.
Не делай проблему из ничего
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226513
Фотография Vadim Kutuzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha_1
Union даёт повтор, если использовать в нём слово ALL . Ну это вроде разрулили, спасибо.
Лох Позорный
Код: plaintext
Если тебе нужно Full Outer Join из  100  таблиц - надо что-то в консерватории менять.

Люблю умных людей - иногда не знаешь, о чём они говорят :)
Проблемы я не делал, просто спросил... Вы ответили - молодцы, большое спасибо!
Код: plaintext
В один запрос (Union) можно запихать все что угодно. Так что  10  запросов и одно объединение - на фиг. 

И ты представляешь себе этот запрос? Потом в нём сам Чёрт не разберётся... ИМХО, лучше писать маленькие запросы с последующим объединением. Или я определённо не прав? :)

В обшем, спасибо большое!
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226525
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или я определённо не прав? :)
А это уж как ты захочешь (или не захочешь)
Надо тебе один запрос (без 10 маленьких и одного объединения) - делай один запрос
Надо тебе кучу маленьких и один объединений (типа для читабельности) - так и делай
Колхоз - дело добровольное. Кто не хочет - выходи лицом к стене.
В общем большое пожалуйста
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226532
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помнится, еще было такое предложение:
Выбрать (Union-ом или во временной табле) все существующие даты
и к этим датам заджойнивать все остальные таблы.
Без потерь, простенько и со вкусом...
...
Рейтинг: 0 / 0
Как сделать запрос с двух таблиц, если...
    #32226558
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не факт что без потерь
Join с Union'ом и Union из Join'ов - две большие разницы.
Надо в каждом случае смотреть что быстрее окажется
При джойнах таблиц - работают связи, зато при Union'е выполняется группировка по всем столбцам.
Я обычно делаю Left Join + Right Join с условием на Null(только недостающие записи) + все это в Union All. Так (обычно) получается быстрее. И связи/индексы используются, и группировка при Union All не делается.
Если результирующий набор небольшой (по сравнению с общим кол-вом записей) - тогда Join с Union'ом. Иначе Union из Join'ов.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать запрос с двух таблиц, если...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]