Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2015, 18:47   #1
savicus
 
Регистрация: 11.03.2014
Сообщений: 4
По умолчанию Подскажите с фильтрацией запроса

Всем доброго дня суток!
В базе Access при выборке запроса выпадает несколько значений, а мне нужно только самое последнее по дате (после фильтрации).

Т.Е. есть результаты запроса 'Пациент Запрос'
Фамилия ГодРождения Дата Показатель
Иванов 01.03.1960 15.06.2015 8
Петров 01.01.1980 15.06.2015 12
Сидоров 01.02.1970 14.06.2015 15
Иванов 01.03.1960 01.06.2015 9
Петров 01.01.1980 01.06.2015 15
Семёнов 01.01.1965 01.06.2015 12
Сидоров 01.02.1970 01.06.2015 12

А нужно чтобы было:
Иванов 01.03.1960 15.06.2015 8
Петров 01.01.1980 15.06.2015 12
Сидоров 01.02.1970 14.06.2015 15
Семёнов 01.01.1965 01.06.2015 12

Подскажите как, голову ломаю, не получается.

База прилагается
Вложения
Тип файла: zip Диабетчики.zip (64.4 Кб, 13 просмотров)
savicus вне форума Ответить с цитированием
Старый 08.07.2015, 20:51   #2
Woodlin
Форумчанин
 
Регистрация: 30.03.2010
Сообщений: 153
По умолчанию

Попробуйте запрос с групповыми операциями.
Woodlin вне форума Ответить с цитированием
Старый 09.07.2015, 12:19   #3
savicus
 
Регистрация: 11.03.2014
Сообщений: 4
По умолчанию

Пробовал, не получается, если знаете, подскажите как...
savicus вне форума Ответить с цитированием
Старый 09.07.2015, 14:06   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,542
По умолчанию

Код:
select t.fio, t.dt, t.p
from t
inner join ( select fio, max(dt) as mdt
             from t
             group by fio
    ) as mdt on mdt.fio =t.fio and mdt.mdt =t.dt
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 09.07.2015 в 14:12.
evg_m вне форума Ответить с цитированием
Старый 09.07.2015, 15:51   #5
savicus
 
Регистрация: 11.03.2014
Сообщений: 4
По умолчанию

С помощью специалистов решил задачу:
Код HTML:
SELECT Пациент.Код,
 Пациент.Фамилия, Пациент.Имя, Пациент.Отчество,
 Пациент.ГодРождения, Сахар_z.[Max-Дата], Сахар.Показатель
FROM (Пациент
 INNER JOIN (SELECT Сахар.Пациент, MAX(Сахар.Дата) AS [Max-Дата]
                    FROM Сахар WHERE Сахар.Дата <=[Формы]![Главная]![Контроль]
                    GROUP BY Сахар.Пациент)  AS Сахар_z
   ON Пациент.Код = Сахар_z.Пациент)
 INNER JOIN Сахар
   ON (Сахар_z.[Max-Дата] = Сахар.Дата) AND (Сахар_z.Пациент = Сахар.Пациент);
Всем спасибо за потраченное время.
savicus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с фильтрацией KingWaR56 Помощь студентам 5 09.05.2012 15:28
Жесть с фильтрацией grafgrial БД в Delphi 4 11.06.2010 09:27
AdoQuery, подскажите правильное написание запроса salima БД в Delphi 1 11.12.2009 16:42
MS SQL. Подскажите с составлением запроса. Mixasik SQL, базы данных 4 13.10.2009 14:56
Пролемы с фильтрацией 1234 БД в Delphi 1 24.07.2008 11:28