|
Отбор запросом позиций из середины выборки (например с 31 по 40) |
☑ |
0
maxab72
11.10.23
✎
12:12
|
Понадобилось выбирать запросом не первые n позиций, а из середины списка, например с 31-ой по 40-ую. Можно, конечно, выбрать сперва 40 верхних, потом из этой выборки выбрать 30 верхних и третьим запросом вычесть вторую выборку из первой. А есть более красивое/эффективное решение?
|
|
1
Волшебник
11.10.23
✎
12:14
|
Можно выбрать N строк на клиента, а постраничную навигацию реализовать на клиенте без дополнительного запроса.
|
|
2
Смотрящий
11.10.23
✎
12:44
|
ВЫБРАТЬ
ТаблицаНоменклатура.Номенклатура,
АВТОНОМЕРЗАПИСИ() КАК НоменклатураИндекс
ПОМЕСТИТЬ втНоменклатура
ИЗ
&ТаблицаНоменклатура КАК ТаблицаНоменклатура
;
ВЫБРАТЬ
втНоменклатура.Номенклатура,
втНоменклатура.НоменклатураИндекс - НоменклатураИндексМинимум.НоменклатураИндекс КАК НоменклатураИндекс
ПОМЕСТИТЬ втНоменклатураИндекс
ИЗ
втНоменклатура КАК втНоменклатура,
(
ВЫБРАТЬ ПЕРВЫЕ 1
МИНИМУМ(втНоменклатура.НоменклатураИндекс) КАК НоменклатураИндекс
ИЗ
втНоменклатура КАК втНоменклатура
) КАК НоменклатураИндексМинимум
;
ВЫБРАТЬ
втНоменклатураИндекс.Номенклатура,
втНоменклатураИндекс.НоменклатураИндекс
ИЗ
втНоменклатураИндекс КАК втНоменклатураИндекс
ГДЕ
втНоменклатураИндекс.НоменклатураИндекс МЕЖДУ 31 И 40
|
|
3
maxab72
11.10.23
✎
13:56
|
АВТОНОМЕРЗАПИСИ() пишут в ИТС, что не обязательно будет с 1 начинаться, а зависит от СУБД. думал про него, но сомнения одолевают.
|
|
4
Смотрящий
11.10.23
✎
14:04
|
(3) На второй запрос пакета посмотри
|
|
5
Valdis2007
11.10.23
✎
14:04
|
(0) есть хардокрный, но рабочий способ...добавь к элементу реквизит с номером...
|
|
6
maxab72
11.10.23
✎
14:10
|
(4) Слишком монструозно, куча вложенных подзапросов будет. Не красиво, и сомнительно, что эффективно.
|
|
7
Смотрящий
11.10.23
✎
14:15
|
(6) Ну как хочешь
|
|
8
Смотрящий
11.10.23
✎
14:16
|
(5) А потом сидишь и охуеваешь, при обновлении, костеря упырей, который копошились в базе
|
|
9
Valdis2007
11.10.23
✎
14:25
|
(8) не...ну в комменте к реквизиту , надо же описание оставить зачем он был добавлен))
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой