V
V
Vyacheslav Barsukov2017-05-12 08:24:22
SQL
Vyacheslav Barsukov, 2017-05-12 08:24:22

How to order in 1s (case when)?

Good afternoon, how to get the order in the query provided?
Location 1 us from 100 to 199, with this request everything works. How to make the order like this:
First, lines from 150 to 180, then 100 - 149, then 181 - 199
with case when, this can be done, but this syntax does not work in 1s.
The request itself

ВЫБРАТЬ
  Номенклатура.Расположение КАК Расположение
ИЗ
  Справочник.Номенклатура КАК Номенклатура

УПОРЯДОЧИТЬ ПО
  Расположение

Answer the question

In order to leave comments, you need to log in

3 answer(s)
D
Dmitry Kinash, 2017-05-12
@Dementor

with case when this can be done, but in 1s this syntax does not work.

Actually it works.

K
Konstantin Tsvetkov, 2017-05-12
@tsklab

First lines from 150 to 180, then 100 - 149, then 181 - 199
Make three queries with the desired ranges and JOIN them.
ВЫБРАТЬ 1, Номенклатура.Расположение КАК Расположение
ИЗ Справочник.Номенклатура КАК Номенклатура
ГДЕ Номенклатура.Расположение >= 150 И Номенклатура.Расположение <= 180
ОБЪЕДИНИТЬ
ВЫБРАТЬ 2, Номенклатура.Расположение КАК Расположение
ИЗ Справочник.Номенклатура КАК Номенклатура
ГДЕ Номенклатура.Расположение >= 100 И Номенклатура.Расположение <= 150
ОБЪЕДИНИТЬ
ВЫБРАТЬ 3, Номенклатура.Расположение КАК Расположение
ИЗ Справочник.Номенклатура КАК Номенклатура
ГДЕ Номенклатура.Расположение >= 181 И Номенклатура.Расположение <= 199
УПОРЯДОЧИТЬ ПО 1, 2

K
Konstantin, 2017-05-12
@fosihas

Only overkill. Query to the Value Table, then:

Для Сч = 0 по СтаршийИндекс Цикл 
        Сообщить(СписокСотрудников[Сч].Значение); 
КонецЦикла;

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question