|
как в запросе лучше получить первую и последнюю строки выборки? | ☑ | ||
---|---|---|---|---|
0
meegor
20.02.13
✎
18:54
|
есть сложный запрос с под запросами, каждый из которых выдает довольно много строк, надо оставить от каждого подзапросика только 2 строки- первую и последнюю.
|
|||
1
Bober
20.02.13
✎
18:56
|
(0) какое конкретное значение или всю строку выборки?
|
|||
2
meegor
20.02.13
✎
18:59
|
первую и последнюю строку, тогда видно дату начала и конца, что и требуется
|
|||
3
meegor
20.02.13
✎
18:59
|
для подзапросика, почему то недоступно поле порядок
|
|||
4
meegor
20.02.13
✎
19:00
|
наверно лучше на временных таблицах делать?
|
|||
5
PR
20.02.13
✎
19:04
|
Выбрать первые 1 из первого запроса и объединить с выбрать первые 1 из второго запроса с обратной сортировкой.
|
|||
6
meegor
20.02.13
✎
19:09
|
я так и хотел, по в подзапросиках, почему то сортировки нет
|
|||
7
Kashemir
20.02.13
✎
19:10
|
Например типа так Книга знаний: v8: Нумерация строк в запросе
|
|||
8
Reset
20.02.13
✎
19:12
|
(6) Если сортировки нет, понятия "первая","последняя" не имеют смысла
|
|||
9
Птица
20.02.13
✎
19:13
|
(2) если требуются именно дата начала и дата конца, тогда можно через макс и мин
|
|||
10
Classic
20.02.13
✎
19:18
|
(6)
Пробовал? |
|||
11
meegor
20.02.13
✎
19:24
|
пытаюсь сделать как в (9) сделал групировку по всем полям - сумируемое поле с датой и минимум. Но пока выдает все строчки
|
|||
12
meegor
20.02.13
✎
19:24
|
что то не так делаю
|
|||
13
meegor
20.02.13
✎
19:25
|
(10) там поле ИТОГИ есть в запросе верхнего уровня, а если войти в этот запрос, то в по дзапросах нет
|
|||
14
meegor
20.02.13
✎
19:26
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВсеОтпуска.Документ, ВсеОтпуска.Сотрудник, ВсеОтпуска.ДатаНачала, ВсеОтпуска.ДатаОкончания, ВсеОтпуска.ВидРасчета, ВсеОтпуска.Состояние ИЗ (ВЫБРАТЬ НачислениеОтпускаРаботникамОрганизаций.Ссылка КАК Документ, НачислениеОтпускаРаботникамОрганизаций.Сотрудник КАК Сотрудник, НачислениеОтпускаРаботникамОрганизаций.ДатаНачала КАК ДатаНачала, НачислениеОтпускаРаботникамОрганизаций.ДатаОкончания КАК ДатаОкончания, НачислениеОтпускаРаботникамОрганизаций.ВидРасчета КАК ВидРасчета, НачислениеОтпускаРаботникамОрганизаций.Состояние КАК Состояние ИЗ Документ.НачислениеОтпускаРаботникамОрганизаций.Начисления КАК НачислениеОтпускаРаботникамОрганизаций ГДЕ (НачислениеОтпускаРаботникамОрганизаций.Сотрудник = &Работник ИЛИ НачислениеОтпускаРаботникамОрганизаций.Сотрудник.ОсновноеНазначение = &Работник) И НачислениеОтпускаРаботникамОрганизаций.Ссылка.Проведен = ИСТИНА И НачислениеОтпускаРаботникамОрганизаций.Ссылка.Организация = &Организация И НачислениеОтпускаРаботникамОрганизаций.Состояние В(&Отпуска) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НевыходыВОрганизациях.Ссылка, НевыходыВОрганизациях.Сотрудник, НевыходыВОрганизациях.ДатаНачала, НевыходыВОрганизациях.ДатаОкончания, НевыходыВОрганизациях.ВидРасчета, НевыходыВОрганизациях.Состояние ИЗ Документ.НевыходыИОдноразовыеВыплатыВОрганизациях.Начисления КАК НевыходыВОрганизациях ГДЕ (НевыходыВОрганизациях.Сотрудник = &Работник ИЛИ НевыходыВОрганизациях.Сотрудник.ОсновноеНазначение = &Работник) И НевыходыВОрганизациях.Ссылка.Проведен = ИСТИНА И НевыходыВОрганизациях.Ссылка.Организация = &Организация И НевыходыВОрганизациях.Состояние В(&Отпуска) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ НачислениеПоБольничномуЛистуНачисления.Ссылка, НачислениеПоБольничномуЛистуНачисления.Сотрудник, НачислениеПоБольничномуЛистуНачисления.ДатаНачала, НачислениеПоБольничномуЛистуНачисления.ДатаОкончания, НачислениеПоБольничномуЛистуНачисления.ВидРасчета, НачислениеПоБольничномуЛистуНачисления.Состояние ИЗ Документ.НачислениеПоБольничномуЛисту.Начисления КАК НачислениеПоБольничномуЛистуНачисления ГДЕ (НачислениеПоБольничномуЛистуНачисления.Сотрудник = &Работник ИЛИ НачислениеПоБольничномуЛистуНачисления.Сотрудник.ОсновноеНазначение = &Работник) И НачислениеПоБольничномуЛистуНачисления.Ссылка.Проведен = ИСТИНА И НачислениеПоБольничномуЛистуНачисления.Ссылка.Организация = &Организация) КАК ВсеОтпуска УПОРЯДОЧИТЬ ПО ВсеОтпуска.ДатаНачала |
|||
15
Classic
20.02.13
✎
19:30
|
(11)
Вместе с ПЕРВЫЕ УПОРЯДОЧИТЬ вполне себе работает. Не знаю, как ты проверял |
|||
16
meegor
20.02.13
✎
19:35
|
так упорядочивает всю таблицу, а надо каждый под запросик
|
|||
17
Classic
20.02.13
✎
19:36
|
(16)
Ты пробовал упорядочить подзапрос? |
|||
18
meegor
20.02.13
✎
19:40
|
выдает ошибку:
во вложенных запросах нельзя применять операцию упорядочить по |
|||
19
meegor
20.02.13
✎
19:40
|
без использования конструкции ПЕРВЫЕ.
<<?>>УПОРЯДОЧИТЬ ПО |
|||
20
meegor
20.02.13
✎
19:41
|
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ ПЕРВЫЕ 1 НачислениеПоБольничномуЛистуНачисления.Ссылка, НачислениеПоБольничномуЛистуНачисления.Сотрудник, НачислениеПоБольничномуЛистуНачисления.ДатаНачала, НачислениеПоБольничномуЛистуНачисления.ДатаОкончания, НачислениеПоБольничномуЛистуНачисления.ВидРасчета, НачислениеПоБольничномуЛистуНачисления.Состояние ИЗ Документ.НачислениеПоБольничномуЛисту.Начисления КАК НачислениеПоБольничномуЛистуНачисления ГДЕ (НачислениеПоБольничномуЛистуНачисления.Сотрудник = &Работник ИЛИ НачислениеПоБольничномуЛистуНачисления.Сотрудник.ОсновноеНазначение = &Работник) И НачислениеПоБольничномуЛистуНачисления.Ссылка.Проведен = ИСТИНА И НачислениеПоБольничномуЛистуНачисления.Ссылка.Организация = &Организация УПОРЯДОЧИТЬ ПО НачислениеПоБольничномуЛистуНачисления.ДатаНачала КАК ВсеОтпуска |
|||
21
Classic
20.02.13
✎
19:42
|
(19)
Так и зашибись. Тебе ж предложили ВЫБРАТЬ ПЕРВЫЕ 1 УПОРЯДОЧИТЬ ПО.. ОБЪЕЕДИНИТЬ ВЫБРАТЬ ПЕРВЫЕ 1 УПОРЯДОЧИТЬ ПО .. УБЫВ Зачем тебе упорядочивание без первых? |
|||
22
Bober
20.02.13
✎
20:15
|
(0) как вариант, мин и макс по полю с датой
|
|||
23
meegor
20.02.13
✎
23:18
|
спасибо, так и сделал, получилось
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |