Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов) / 9 сообщений из 9, страница 1 из 1
17.08.2004, 13:48:46
    #32652789
тот самый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов)
Привет народ,

Есть таблица, в которую вводится история изменений должностных атрибутов сотрудника (каждому атрибуту соответствует поле). Например: В начале ввели дату принятия сотрудника. Следущая запись изменения оклада, далее изменение доолжности.

Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов.

Спасибо.
...
Рейтинг: 0 / 0
17.08.2004, 13:59:36
    #32652817
маяк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов)
тот самыйЕсть таблица, в которую вводится история изменений должностных атрибутов сотрудника (каждому атрибуту соответствует поле). Например: В начале ввели дату принятия сотрудника. Следущая запись изменения оклада, далее изменение доолжности.

Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов.Пожалуй никак. Я бы выбирал рекордсет со всей фигнёй на этого сотрудника и дальше вбкодом делал бы из него требуемое.
...
Рейтинг: 0 / 0
17.08.2004, 14:05:45
    #32652828
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов)
хорошо бы все-таки привести структуру таблицы
...
Рейтинг: 0 / 0
17.08.2004, 14:11:04
    #32652855
Раз (1)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов)
Как еще один вариант.
Делаете таблицу с требуемыми полями(атрибутами), а потом прогоняете по запросу на обновление для каждого поля, потом открываете эту таблицу и видите все последние атрибуты.

Одним запросом, ИМХО, никак, если в каждой записи хранить только изменяем(ый/ые) атрибут(ы).

Чтобы упростить себе жизнь, предлагаю в каждой новой записи хранить ВСЕ атрибуты, а не ТОЛЬКО ИЗМЕНЯЕМЫЕ, тогда проблем не будет.
...
Рейтинг: 0 / 0
17.08.2004, 14:20:05
    #32652879
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов)
select dlast(...), dlast(...), dlast(...) ...
...
Рейтинг: 0 / 0
17.08.2004, 14:22:52
    #32652887
мимо проходил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов)
PIVOT не поможет?
...
Рейтинг: 0 / 0
17.08.2004, 14:23:03
    #32652888
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов)
Чёт я не понимаю. Первый запрос для данного служащего возвращает максимальную дату для каждого атрибута,

второй запрос возвращает для данного служащего, атрибута и даты из первого запроса значение атрибута.


P.S. Структкра данных годная
...
Рейтинг: 0 / 0
17.08.2004, 14:23:39
    #32652890
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов)
А что, собственно, сложного? Представляю себе таблицу tbl1 так:
EmpID, EventDate, AtribID, Note

Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT tbl1.EmpID, tbl1.EventDate, tbl1.AtribID, tbl1.Note
FROM tbl1 
INNER JOIN (
SELECT EmpID, AtribID, MAX(EventDate) AS EventDate
FROM tbl1 
GROUP BY EmpID, AtribID ) AS T
ON tbl1.EmpID = T.EmpID AND tbl1.AtribID = T.AtribID AND tbl1.EventDate = T.EventDate
...
Рейтинг: 0 / 0
17.08.2004, 14:24:36
    #32652895
v-metallic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов)
Если таблица содержит историю, то вней непременно должно быть поле типа дата. В этом случае запрос делается так:

SELECT TOP 1 [Набор полей] FROM [Таблица] WHERE [Поле_типа_дата]<=[Требуемая_дата] ORDER BY [Поле_типа_дата] DESC

Принцип простой:
Требуется узнать, допустим должность сотрудника на 20.05.2004
Для этого:
Отберем данные для этого сотрудника, введенные ранее (или 20.05.2004).
Сортируем эти данные по убыванию
Отбираем первую запись: это и будет требуемая запись

Влад
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Взываю о помощи (Как построить запрос, который выдавал бы одну запись, в которой содержалась бы самая споследняя информация по каждому из атрибутов) / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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