![]() |
![]() |
|
Условия в выражениях в запросе | ☑ | ||
---|---|---|---|---|
0
Nyarlathotep
09.06.18
✎
16:16
|
Всем привет!
В запросе(не в СКД) добавляю поле, там выражение вида a*b*c. Мне нужно, чтобы один или несколько членов выражения менялись в зависимости от некоторых условий. Например, у меня есть поля a,b,c,x,y,z Мне нужно сделать следующее: a * выбор когда x=y тогда b иначе b/2 конец * c Это возможно? Как правильно это сделать? Если пишу так, как написал выше, не получается, выдает мне ошибки. |
|||
1
hhhh
09.06.18
✎
16:20
|
(0) должно работать. Наверно, у вас ошибки по другому поводу
|
|||
2
Мандалай
09.06.18
✎
16:21
|
Выбор когда Тогда иначе конец
|
|||
3
Мандалай
09.06.18
✎
16:22
|
Текст ошибки в студию
|
|||
4
Mihasya
09.06.18
✎
16:26
|
"конец * c" так низя, конец всегда конец ))
|
|||
5
hhhh
09.06.18
✎
16:33
|
(4) можно
|
|||
6
Nyarlathotep
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 |
|||
7
Nyarlathotep
09.06.18
✎
16:40
|
упс не то скопировал сорри
|
|||
8
Nyarlathotep
09.06.18
✎
16:42
|
(6) все, разобрался, не туда вставил условие, в ВЫРАЗИТЬ(), всем спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |