|
Сжатие таблицы по полю | ☑ | ||
|---|---|---|---|---|
|
0
McArt
01.03.12
✎
09:58
|
В результате запроса получаем таблицу вида:
дата1 сотрудник1 сумма1 дата2 сотрудник1 сумма2 дата3 сотрудник2 сумма3 дата4 сотрудник2 сумма4 Как получить таблицу, где строка с сотрудником будет представлена лишь единожды с более поздней датой? |
|||
|
1
aleks-id
01.03.12
✎
10:00
|
переписать запрос
|
|||
|
2
McArt
01.03.12
✎
10:03
|
Что добавить в запрос? Группировку, условие?
|
|||
|
3
Kerk
01.03.12
✎
10:23
|
(2) Надо писать много запросов... в первом ищешь записи с минимальной датой, во втором накладываешь условия по результатам первого запроса.
|
|||
|
4
andrewks
01.03.12
✎
10:25
|
а что делать с суммой? сложить? или только более позднюю сумму вывести?
|
|||
|
5
andrewks
01.03.12
✎
10:26
|
(3) может, проще min() заюзать?
|
|||
|
6
McArt
01.03.12
✎
10:29
|
(5) минимальная дата может соответствовать максимальной сумме. Вопрос в том и заключается, как выдернуть полностью строчку, где сотрудник одинаковый, а дата минимальная.
|
|||
|
7
Kerk
01.03.12
✎
10:39
|
(4) ничего с ней делать не нужно, как я понял...
|
|||
|
8
Kerk
01.03.12
✎
10:40
|
(5) При мин нужна группировка по всем полям, а ему нужно только по сотруднику.
|
|||
|
9
Kerk
01.03.12
✎
10:49
|
Вот как-то так...
ВЫБРАТЬ МИНИМУМ(НДФЛКЗачету.Период) КАК Период, НДФЛКЗачету.ФизЛицо ПОМЕСТИТЬ вт_ПервыеЗаписи ИЗ РегистрНакопления.НДФЛКЗачету КАК НДФЛКЗачету СГРУППИРОВАТЬ ПО НДФЛКЗачету.ФизЛицо ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ вт_ПервыеЗаписи.Период, вт_ПервыеЗаписи.ФизЛицо, НДФЛКЗачету.СуммаНДФЛКЗачету ИЗ вт_ПервыеЗаписи КАК вт_ПервыеЗаписи ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДФЛКЗачету КАК НДФЛКЗачету ПО вт_ПервыеЗаписи.Период = НДФЛКЗачету.Период И вт_ПервыеЗаписи.ФизЛицо = НДФЛКЗачету.ФизЛицо |
| Форум | Правила | Описание | Секции | Поиск |