Отчет по средней зарплате с градациями #408637


#0 by Сергей-ХХХ
Вот есть такой отчет, который нужно раз в два года в апреле сдавать (сам в шоке))). И там есть градации: до 4200, от 4200 до 5000, от 5000 до 5800, ..., свыше 75000. Короче, 21 вариант. Я, как нормальный перец, пишу: ... ВЫБОР КОГДА Результат > 75000 ТОГДА " > 75000" ИНАЧЕ      ВЫБОР КОГДА Результат > 50000 ТОГДА " > 50000" ИНАЧЕ            ВЫБОР КОГДА Результат > 40000 ТОГДА " > 40000" ИНАЧЕ ... ...            КОНЕЦ     КОНЕЦ КОНЕЦ КАК ТипаОпа, ... Дык вот, ламерами сделаный MS SQL 2005 меня посылает на три буквы, т.к. для него максимальная вложенность - это 10!!! Пипец, да? Ничто бы не осложнило мне жизнь, если бы это делалось не на компоновке данных. Можно ли как-нить засунуть в компоновку все это и при этом не трогать ничего другого? Т.е. никаких методов в форме...
#1 by szhukov
Ну разбей на несколько запросов и объедени
#2 by КуплюКровать
ВЫБОР КОГДА Результат > 75000 ТОГДА " > 75000"     КОГДА Результат > 50000 ТОГДА " > 50000"           КОГДА Результат > 40000 ТОГДА " > 40000" КОНЕЦ
#3 by КуплюКровать
а вообще для такого отчета подойдут пользовательские поля в СКД
#4 by Сергей-ХХХ
Навожу на мысль: а нет ли в MS SQL где-нить фичи, которая даст возможность сделать это самое 21 вложение? А по поводу объединения запросов, то это как?  Т.е. три запроса, ранжированных по сумме результата? Там и так запрос достаточно большой. Есть проще варианты?
#5 by Philix
Не нужно "Иначе". Отстраненный пример на платформе 8-1-12-101: ВЫБРАТЬ ИЗ    РегистрСведений.СтавкаРефинансированияЦБ КАК СтавкаРефинансированияЦБ
#6 by Mitriy
а так? ВЫБОР КОГДА Результат > 75000 ТОГДА " > 75000" Тогда ЧегоТо КОГДА Результат > 50000 ТОГДА " > 50000" Тогда ЧегоТо1 КОГДА Результат > 40000 ТОГДА " > 40000" ... ИНАЧЕ ... КОНЕЦ КАК ТипаОпа,
#7 by Mitriy
млин... вот тебе и типаопа...
#8 by Сергей-ХХХ
Спс, то, что надо! ))) Век живи - век учись... ЗЫ: Что-то упустил я case-метод использования ВЫБОРа...
#9 by Сергей-ХХХ
Привык, понимаешь, что в самой 1С-ке такое бы не прошло, а в языке запросов - пожалуйста )))
#10 by zaika7777
В продолжении темы, вопрос по этому запросу. Изначально надо получить з/плату по сотруднику за месяц, а потом уже прогнать ее по градациям (с этим все понятно). Как объдинить основные и дополнительные начисления, чтобы результат общая сумма? В таком варианте не учитывает доп.начисления ВЫБРАТЬ РАЗЛИЧНЫЕ        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 0 И 4200            ТОГДА "а до 4200"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 4200.1 И 5000            ТОГДА "б от 4200,1 до 5000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 5000.1 И 5800            ТОГДА "в от 5000 до 5800,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 5800.1 И 6600            ТОГДА "г от 5800,1 до 6600,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 6600.1 И 7400            ТОГДА "д от 6600,1 до 7400,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 7400.1 И 9000            ТОГДА "е от 7400,1 до 9000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 9000.1 И 10600            ТОГДА "ё от 9000,1 до 10600,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 10600.1 И 12200            ТОГДА "ж от 10600,1 до 12200,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 12200.1 И 13800            ТОГДА "з от 12200,1 до 13800,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 13800.1 И 15400            ТОГДА "и от 13800,1 до 15400,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 15400.1 И 17000            ТОГДА "й от 15400,1 до 17000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 17000.1 И 18600            ТОГДА "к от 17000,1 до 18600,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 18600.1 И 20200            ТОГДА "л от 18600,1 до 20200,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 20200.1 И 21800            ТОГДА "м от 20200,1 до 21800,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 21800.1 И 25000            ТОГДА "н от 21800,1 до 25000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 21800.1 И 30000            ТОГДА "о от 25000,1 до 30000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 30000.1 И 35000            ТОГДА "п от 30000,1 до 35000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 35000.1 И 40000            ТОГДА "р от 35000,1 до 40000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 40000.1 И 50000            ТОГДА "с от 40000,1 до 50000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 50000.1 И 75000    ВЫБОР        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 0 И 4200            ТОГДА "а до 4200"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 4200.1 И 5000            ТОГДА "б от 4200,1 до 5000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 5000.1 И 5800            ТОГДА "в от 5000 до 5800,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 5800.1 И 6600            ТОГДА "г от 5800,1 до 6600,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 6600.1 И 7400            ТОГДА "д от 6600,1 до 7400,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 7400.1 И 9000            ТОГДА "е от 7400,1 до 9000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 9000.1 И 10600            ТОГДА "ё от 9000,1 до 10600,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 10600.1 И 12200            ТОГДА "ж от 10600,1 до 12200,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 12200.1 И 13800            ТОГДА "з от 12200,1 до 13800,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 13800.1 И 15400            ТОГДА "и от 13800,1 до 15400,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 15400.1 И 17000            ТОГДА "й от 15400,1 до 17000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 17000.1 И 18600            ТОГДА "к от 17000,1 до 18600,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 18600.1 И 20200            ТОГДА "л от 18600,1 до 20200,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 20200.1 И 21800            ТОГДА "м от 20200,1 до 21800,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 21800.1 И 25000            ТОГДА "н от 21800,1 до 25000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 21800.1 И 30000            ТОГДА "о от 25000,1 до 30000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 30000.1 И 35000            ТОГДА "п от 30000,1 до 35000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 35000.1 И 40000            ТОГДА "р от 35000,1 до 40000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 40000.1 И 50000            ТОГДА "с от 40000,1 до 50000,0"        КОГДА ВложенныйЗапрос.Результат МЕЖДУ 50000.1 И 75000    Сотрудник
#11 by zaika7777
что здесь не так?(
#12 by zaika7777
(
#13 by zaika7777
подскажите, пожалуйста
#14 by ptiz
Вместо полного соединения сделай объединение
#15 by zaika7777
все равно не получается(
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С