powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / SQL запрос из трех таблиц без повторов
12 сообщений из 12, страница 1 из 1
SQL запрос из трех таблиц без повторов
    #40038753
mdli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Есть три таблицы вида с полями
qselFoldersSyst:
1 fldrFolder

qfltOutPostavshiki:
2 outFolder
outSendDate

qfltInPostavshiki:
3 inFolder
inArrivalDate

Есть запрос вида
Код: sql
1.
2.
3.
4.
5.
SELECT qselFoldersSyst.fldrFolder, qfltOutPostavshiki.outSendDate, qfltInPostavshiki.inArrivalDate
FROM (qselFoldersSyst INNER JOIN qfltOutPostavshiki ON qselFoldersSyst.fldrFolder = qfltOutPostavshiki.outFolder) INNER JOIN qfltInPostavshiki ON qselFoldersSyst.fldrFolder = qfltInPostavshiki.inFolder
GROUP BY qselFoldersSyst.fldrFolder, qfltOutPostavshiki.outSendDate, qfltInPostavshiki.inArrivalDate
HAVING (((qselFoldersSyst.fldrFolder)=1032))
ORDER BY qfltOutPostavshiki.outSendDate, qfltInPostavshiki.inArrivalDate;


Соответственно при таком запросе получается табличка вида
fldrFolder outSendDate inArrivalDate
1032 19.03.2020 29.06.2020
1032 19.03.2020 11.08.2020
1032 19.03.2020 26.11.2020
1032 08.07.2020 29.06.2020
1032 08.07.2020 11.08.2020
1032 08.07.2020 26.11.2020
1032 31.08.2020 29.06.2020
1032 31.08.2020 11.08.2020
1032 31.08.2020 26.11.2020



а нужно в виде

Код: sql
1.
2.
3.
19,03,2020        29,06,2020
08,07,2020        11,08,2020
31,08,2020        26,11,2020 



Подскажите как правильно составить запрос ?
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038769
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdli,
А как эти таблички связаны?(ведь если в других таблицах ручками набирать [fldrFolder]-это верный путь к ошибкам,которые исключатся при связывании и запрос станет очень простым.
По сути:есть такая функция FORMAT
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038773
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пронумеровать записи в подчинённых таблицах, и при связывании также требовать равенства этого номера.
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038779
mdli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

Таблички связаны INNER JOIN по полям qselFoldersSyst.fldrFolder = qfltOutPostavshiki.outFolder и qselFoldersSyst.fldrFolder = qfltInPostavshiki.inFolder

На запятые не обращайте внимания, мне нужно 3 записи вместо 9
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038783
mdli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Таблицы делал не я и я вообще не понимаю, как сделать правильный запрос.
То есть нужно добавить связи главный-подчиненный между 1 и 2 и также между 2 и 3 таблицами ? С полями ?
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038785
mdli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Я чего то жестко затупил от такой постановки задачи и думал что можно как то решить, и при этом совсем забыл как правильно делать базы данных
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038811
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdli

Я чего то жестко затупил от такой постановки задачи и думал что можно как то решить, и при этом совсем забыл как правильно делать базы данных
Да уж....для хранения этой информации одной таблицы и то много будет-короче 1 таблица и 1 справочник-этого за глаза
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038842
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прощу пардону:неправильно Вас понял-сейчас перечитал.
Вы хотите вывести для одинаковых дат в поле outSendDate максимальные даты в поле inArrivalDate-так?
Гляньте это:
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038845
mdli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

не максимальные даты, а сделать outSendDate без дублей. в примере выводится минимальная дата, потом та что между мин и макс, потом максимальная. Вот как сделать чтобы в 3 столбце выводилось 3 строки и во 2 столбце тоже 3 ? И был полный перебор всех дат в обоих столбцах ?

И должно получится 3 записи в этом примере, а может быть и 4 и 5 и больше.
Я пока что нашел способ добавить поле в 3 таблицу и сделать зависимость между 1 и 2 а также между 2 и 3 таблицами, со связями.
Но записей очень много порядка 10 000 и проставлять вручную номера в 3 таблицу будет трудно.
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038849
mdli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

Допустим можно найти минимальные и максимальные даты.
Но как в таком случае найти даты между ними ? В примере будет 1 средняя строка, а ведь если записей 4 то будет 2 средние строки, 5 записей - будет 3 средние строки, а найти средние строки - это задача как найти все строки. Так что печалька.
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038882
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdli,
если выкинуть из запроса fldrFolder, все связи, сгруппировать данные таблиц, отфильтровать по константе да отсортировать по возрастанию, то должно получится искомое. но для чего это недоразумение может пригодиться?хз
...
Рейтинг: 0 / 0
SQL запрос из трех таблиц без повторов
    #40038933
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdli
sdku,
Допустим можно найти минимальные и максимальные даты.
Но как в таком случае найти даты между ними ? В примере будет 1 средняя строка, а ведь если записей 4 то будет 2 средние строки, 5 записей - будет 3 средние строки, а найти средние строки - это задача как найти все строки. Так что печалька.
Если кто-то что-то из этого понял-не сочтите за труд перевести на понятный язык
alecko
.....но для чего это недоразумение может пригодиться?хз
вот это точно!!!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / SQL запрос из трех таблиц без повторов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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