Вход | Регистрация


Условия в выражениях в запросе

Условия в выражениях в запросе
Я
   Nyarlathotep
 
09.06.18 - 16:16
Всем привет!

В запросе(не в СКД) добавляю поле, там выражение вида a*b*c. Мне нужно, чтобы один или несколько членов выражения менялись в зависимости от некоторых условий.

Например, у меня есть поля a,b,c,x,y,z

Мне нужно сделать следующее:

a * выбор когда x=y тогда b иначе b/2 конец * c

Это возможно? Как правильно это сделать? Если пишу так, как написал выше, не получается, выдает мне ошибки.
 
 
   hhhh
 
1 - 09.06.18 - 16:20
(0) должно работать. Наверно, у вас ошибки по другому поводу
   Мандалай
 
2 - 09.06.18 - 16:21
Выбор когда Тогда иначе конец
   Мандалай
 
3 - 09.06.18 - 16:22
Текст ошибки в студию
   Mihasya
 
4 - 09.06.18 - 16:26
"конец * c" так низя, конец всегда конец ))
   hhhh
 
5 - 09.06.18 - 16:33
(4) можно
   Nyarlathotep
 
6 - 09.06.18 - 16:39
выражение целиком

ГруппировкаЗарплатнойЧастиПоМенеджеру.ЗарплатнаяЧастьПоМенеджеру * ЕСТЬNULL(ккДолиПонижающихКоэффициентовСрезПоследних.ПланПоСдачеОтчетов, 0) / 100 * выбор 
когда ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СдачаОтчетовФакт, 0) < ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СдачаОтчетовПлан, 0) 
тогда (ВЫРАЗИТЬ(ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СдачаОтчетовФакт, 0) / ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СдачаОтчетовПлан, 1)
иначе 100
конец * 100 КАК ЧИСЛО(10, 2))) / 100 + ГруппировкаЗарплатнойЧастиПоМенеджеру.ЗарплатнаяЧастьПоМенеджеру * ЕСТЬNULL(ккДолиПонижающихКоэффициентовСрезПоследних.ПланПоВизитам, 0) / 100 * (ВЫРАЗИТЬ(ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.ВизитыФакт, 0) / ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.ВизитыПлан, 1) * 100 КАК ЧИСЛО(10, 2))) / 100 + ГруппировкаЗарплатнойЧастиПоМенеджеру.ЗарплатнаяЧастьПоМенеджеру * ЕСТЬNULL(ккДолиПонижающихКоэффициентовСрезПоследних.ПланПродаж, 0) / 100 * (ВЫРАЗИТЬ(ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СуммаПродажФакт, 0) / ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СуммаПродажПлан, 1) * 100 КАК ЧИСЛО(10, 2))) / 100

ошибка

{(4, 1)}: Ожидается выражение "КАК" <<?>> иначе 100
   Nyarlathotep
 
7 - 09.06.18 - 16:40
упс не то скопировал сорри
   Nyarlathotep
 
8 - 09.06.18 - 16:42
(6) все, разобрался, не туда вставил условие, в ВЫРАЗИТЬ(), всем спасибо.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует