Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Отбор последних по дате записей из таблицы / 1 сообщений из 1, страница 1 из 1
05.03.2010, 08:33
    #36504168
Ewgeny911
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор последних по дате записей из таблицы
Здравствуйте! Не подскажите как с помощью SQL запроса отобрать последние по дате записи из таблицы?
Проограмма на Delphi. Используется стандартный Query с вкладки BDE. Вообщем, есть две таблицы: основная (MOTION.DBF) и справочник отделений (SPRAVOTDEL.DBF).
В таблице MOTION.DBF несколько полей: Дата записи (DATERECORD), код отделения (CD), количество человек (SOSTVSE).
В таблице SPRAVOTDEL.DBF - поле KEYMINE - это тоже самое, что поле CD в MOTION.DBF, SORTNUM - для сортировки.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Таблица MOTION.DBF:
DATERECORD	CD	SOSTVSE
 11 . 10 . 2009 	 112 	 2 
 11 . 10 . 2009 	 282 	 9 
 11 . 10 . 2009 	 111 	 2 
 12 . 10 . 2009 	 111 	 5 
 12 . 10 . 2009 	 252 	 3 
 12 . 10 . 2009 	 112 	 5 
 12 . 10 . 2009 	 242 	 8 
 12 . 10 . 2009 	 112 	 7 
 13 . 10 . 2009 	 111 	 6 
 13 . 10 . 2009 	 242 	 1 
 13 . 10 . 2009 	 262 	 4 

Таблица SPRAVOTDEL.DBF:
KEYMINE	NAME	SORTNUM
 111 	Терапия	 1 
 112 	Хирургия	 2 
 242 	Неврология	 3 
 252 	Урология	 4 
 262 	Педиатрия	 5 
 282 	Кардиология	 6 

Нужно отобрать записи из таблицы MOTION, записи но не всех отделений, а например только тех, которые в справочнике SPRAVOTDEL в диапазоне по полю SORTNUM от 2 до 5. Т.е. в данном случае 112, 242, 252, 262. Нужно отобрать по одной записи (из таблицы MOTION) для каждого из этих отделений. Но для каждого отделения эта запись должна быть последней по дате. (В реальном справочнике около 60 отделений, там они разбиты по блокам и нужно получить данные по блоку - для этого и используется поле SORTNUM. Записей в MOTION около 40000).
В данном случае должны быть отобраны записи:

Код: plaintext
1.
2.
3.
4.
DATERECORD	CD	SOSTVSE
 12 . 10 . 2009 	 112 	 7 
 12 . 10 . 2009 	 252 	 3 
 13 . 10 . 2009 	 242 	 1 
 13 . 10 . 2009 	 262 	 4 

Т.е. сколько отделений в выбранном диапазоне справочника, столько и должно быть записей, но каждая из этих записей должна быть последняя по дате.
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Отбор последних по дате записей из таблицы / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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