|
Борьба с пустой строкой с значением NULL в запросе | ☑ | ||
---|---|---|---|---|
0
bfss-732
24.01.24
✎
10:23
|
Внизу запрос, который выводит две строки, одна с нужным значением (Сумма из регистра накопления), а ниже пустая строка с значением NULL. Вроде к отборе проверка на ЕСТЬ NULL делаю, все равно выводится пустая строка. Как убрать её?
...ТОГДА НЕ ПрочиеРасходы.Сумма ЕСТЬ NULL... тоже делал, не помогает. p.s. Не спрашивайте почему не делаю запрос к виртуальным таблицам - так надо. ВЫБРАТЬ ВЫБОР КОГДА ПрочиеРасходы.Подразделение В (&ПодразделениеМытКон) И ПрочиеРасходы.СтатьяРасходов В (&СтатьяРасходовОсновнаяЗаработнаяПлата) И ПрочиеРасходы.НастройкаХозяйственнойОперации В (&НастройкаХозяйственнойОперацииОтражЗарабПлат) ТОГДА ПрочиеРасходы.Сумма КОНЕЦ КАК РаспределениеНа20Счет ИЗ РегистрНакопления.ПрочиеРасходы КАК ПрочиеРасходы ГДЕ ПрочиеРасходы.Период = &Период И НЕ ПрочиеРасходы.Сумма ЕСТЬ NULL СГРУППИРОВАТЬ ПО ВЫБОР КОГДА ПрочиеРасходы.Подразделение В (&ПодразделениеМытКон) И ПрочиеРасходы.СтатьяРасходов В (&СтатьяРасходовОсновнаяЗаработнаяПлата) И ПрочиеРасходы.НастройкаХозяйственнойОперации В (&НастройкаХозяйственнойОперацииОтражЗарабПлат) ТОГДА ПрочиеРасходы.Сумма КОНЕЦ |
|||
1
SleepyHead
24.01.24
✎
10:24
|
Не хватает секции ИНАЧЕ в конструкции ВЫБОР
|
|||
2
bfss-732
24.01.24
✎
10:26
|
(1) так ИНАЧЕ надо если есть еще условие, а у меня нет
|
|||
3
SleepyHead
24.01.24
✎
10:27
|
(2) а у тебя что должно быть вместо ПрочиеРасходы.Сумма, если не выполняется условие после КОГДА ?
|
|||
4
bfss-732
24.01.24
✎
10:27
|
(3) кажется понимаю и туда воткнуть проверку на NULL?
|
|||
5
SleepyHead
24.01.24
✎
10:30
|
(4) а что ты там будешь сравнивать с NULL?
Какой я нетерпеливый. Ладно, сдаюсь. Считаю, что если условие после КОГДА не выполняется, должен быть 0 ВЫБОР КОГДА условие ТОгда Прочиерасходы.Сумма Иначе 0 КОНЕЦ А у тебя NULL получается именно потому, что условие не выполняется. А что должно быть в этом случае - не прописано. |
|||
6
bfss-732
24.01.24
✎
10:31
|
(5) Если после ИНАЧЕ 0 ставлю, запрос не выполняется
"Неизвестный идентификатор формы" |
|||
7
bfss-732
24.01.24
✎
10:35
|
(6) Консоль типовая глючила, на другой все нормально, НО строка осталась с 0.
|
|||
8
asady
24.01.24
✎
10:48
|
ВЫБРАТЬ
ПрочиеРасходы.Сумма КАК РаспределениеНа20Счет ИЗ РегистрНакопления.ПрочиеРасходы КАК ПрочиеРасходы ГДЕ ПрочиеРасходы.Период = &Период И ПрочиеРасходы.Подразделение В (&ПодразделениеМытКон) И ПрочиеРасходы.СтатьяРасходов В (&СтатьяРасходовОсновнаяЗаработнаяПлата) И ПрочиеРасходы.НастройкаХозяйственнойОперации В (&НастройкаХозяйственнойОперацииОтражЗарабПлат) |
|||
9
bfss-732
24.01.24
✎
10:48
|
Все, вопрос закрыт.
Сделал через временную таблицу без ИНАЧЕ. Спасибо!!! |
|||
10
bfss-732
24.01.24
✎
10:50
|
(8) Кстати тоже отличный вариант, но не для меня. У меня огромный будет запрос, и такая схема не подойдёт.
Самое плохое что не все есть суммы в виртуальны таблицах рег Накоплен, а вот если брать физическую, то все. |
|||
11
Dmitrii
24.01.24
✎
10:52
|
(0) перенеси условие из конструкции ВЫБОР в условие ГДЕ.
|
|||
12
Dmitrii
24.01.24
✎
10:56
|
(7) >> строка осталась с 0.
Конечно она останется. Куда бы ей деться? Надо либо суммировать СУММА(ПрочиеРасходы.Сумма), либо условие ставить в ГДЕ, чтобы строк с 0 не осталось. |
|||
13
bfss-732
24.01.24
✎
10:56
|
(11) Спасибо!
Но у меня будет 12 колонок с разными условиями и разными параметрами. Я только одну колонку вывел, это начало. Ваш вариант точно не подойдет. |
|||
14
bfss-732
24.01.24
✎
10:57
|
(12) Сумма не подойдёт, только группировка.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |