Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос данных из нескольких связанных таблиц с максимальной датой / 4 сообщений из 4, страница 1 из 1
22.09.2016, 23:30
    #39313782
Ravilek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос данных из нескольких связанных таблиц с максимальной датой
Добрый вечер!

Прощу помощи в составлении запроса в Access. Если где то рассматривалась похожая проблема, ткните меня.
Имеется три таблицы:
Таблицы:
Дела
ИдДела№...17А001...101А021...73А073.............

Движение
ИдДвиженияИдДелаДатаДвиженияИДВидДвижения11701.09.2016121711.09.20162310127.08.2016147328.08.2016157307.09.20163610122.09.20162..........
Виды движений
ИДВидДвиженияНаименование1Оценка2Передано в юр отдел3Иск

Таблицы между собой связаны по первичному ключу.
Задача : узнать на какой последней стадии находится каждое из дел.
Что должно получиться:
ИдДелаДатаСтадия1718.09.2016Передано в юр отдел10121.09.2016Передано в юр отдел7316.09.2016Иск


Заранее благодарен!
...
Рейтинг: 0 / 0
22.09.2016, 23:50
    #39313787
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос данных из нескольких связанных таблиц с максимальной датой
Поставленная задача на показанных структуре и данных имеет смысл только если Движение(ИдДела,ДатаДвижения) уникальны.
Но если так - то достаточно в подзапросе для каждого дела получить максимальную дату, а в основном запросе по этим данным идентифицировать всю запись и связать её с другими таблицами.

PS. Для этой задачи таблица Дела вообще не нужна.
PPS. Намеренно не предлагаю идентификацию порядка записей по максимальному значению Движение.ИдДвижения - надеюсь, понятно, почему...
...
Рейтинг: 0 / 0
23.09.2016, 06:45
    #39313837
Ravilek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос данных из нескольких связанных таблиц с максимальной датой
Akina,
Вот как раз не пойму как подцепить данные из таблицы "Виды движений" (т.е. это справочник).
Выбираю из таблицы "Движение" ИдДела, MAX(ДатаДвижения) и группирую по полю ИдДела. При добавлении таблицы "Виды движений" данные начинают дублироваться:

Дело: 17, последняя дата движения:01.09.2016, справочник:Оценка
Дело: 17, последняя дата движения:11.09.2016, справочник:Передано в юр отдел

а должна быть только последняя запись.
...
Рейтинг: 0 / 0
23.09.2016, 11:05
    #39314025
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос данных из нескольких связанных таблиц с максимальной датой
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT MainTable.ИдДела
     , MainTable.ДатаДвижения AS Дата
     , [Виды движений].Наименование
FROM Движение AS MainTable
JOIN (SELECT ИдДела, MAX(ДатаДвижения) AS ДатаДвижения)
     FROM Движение
     GROUP BY ИдДела
     ) AS SubQuery
  ON  MainTable.ИдДела = SubQuery.ИдДела AND MainTable.ДатаДвижения = SubQuery.ДатаДвижения
JOIN [Виды движений]
  ON MainTable.ИДВидДвижения = [Виды движений].ИДВидДвижения
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос данных из нескольких связанных таблиц с максимальной датой / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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