|
Проверка на пустое представление в запросе | ☑ | ||
---|---|---|---|---|
0
Ilqarupup
14.03.15
✎
18:29
|
Добрый день! Такой вопрос:
Как в запросе ВЫБРАТЬ Заказы.Ссылка КАК Заказ, ВЫБОР КОГДА Заказы.Ссылка ЕСТЬ NULL ТОГДА "Не закрыт" ИНАЧЕ ЕСТЬNULL(ЗакрытиеЗаказовПокупателейЗаказы.ПричинаЗакрытияЗаказа, "Не указана") КОНЕЦ КАК ПричинаЗакрытияЗаказа ИЗ Документ.ЗаказПокупателя КАК Заказы ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗакрытиеЗаказовПокупателей.Заказы КАК ЗакрытиеЗаказовПокупателейЗаказы ПО (ЗакрытиеЗаказовПокупателейЗаказы.ЗаказПокупателя = Заказы.Ссылка) ГДЕ Заказы.Дата >= &ДатаНач И Заказы.Дата <= &ДатаКон СГРУППИРОВАТЬ ПО Заказы.Ссылка, ВЫБОР КОГДА Заказы.Ссылка ЕСТЬ NULL ТОГДА "Не закрыт" ИНАЧЕ ЕСТЬNULL(ЗакрытиеЗаказовПокупателейЗаказы.ПричинаЗакрытияЗаказа, "Не указана") КОНЕЦ а) проверить на то что заказ не закрыт и вывести соответствующюю запись б) вывести строку "не указана" если не выбрана причина закрытия заказа, а также строку "не указана" если выбрана причина без наименования (есть такой элемент) |
|||
1
hhhh
14.03.15
✎
18:34
|
ЗакрытиеЗаказовПокупателейЗаказы.ЗаказПокупателя ЕСТЬ NULL
|
|||
2
Ilqarupup
14.03.15
✎
18:37
|
(1)да, точно
|
|||
3
Ilqarupup
14.03.15
✎
18:37
|
а как на пустое представление проверить? есть нулл не идет, потому что есть элемент с пустым наименованием в причине(
|
|||
4
hhhh
14.03.15
✎
18:42
|
ЗакрытиеЗаказовПокупателейЗаказы.ПричинаЗакрытияЗаказа.Наименование = ""
|
|||
5
zladenuw
14.03.15
✎
18:44
|
поле = Значение(Справочник.ПричинаЗакрытияЗаказа.ПустаяСсылка)
|
|||
6
zladenuw
14.03.15
✎
18:45
|
(4) а блин. наименование пусто.....
|
|||
7
Ilqarupup
14.03.15
✎
19:52
|
сделал так:
ВЫБРАТЬ Заказы.Ссылка КАК Заказ, ВЫБОР КОГДА ЗакрытиеЗаказовПокупателейЗаказы.ЗаказПокупателя ЕСТЬ NULL ТОГДА "Не закрыт" КОГДА ЗакрытиеЗаказовПокупателейЗаказы.ПричинаЗакрытияЗаказа.Код = "000000008" ИЛИ ЗакрытиеЗаказовПокупателейЗаказы.ПричинаЗакрытияЗаказа = ЗНАЧЕНИЕ(Справочник.ПричиныЗакрытияЗаказов.ПустаяССылка) ТОГДА "Не указана" ИНАЧЕ ЗакрытиеЗаказовПокупателейЗаказы.ПричинаЗакрытияЗаказа КОНЕЦ КАК ПричинаЗакрытияЗаказа ИЗ Документ.ЗаказПокупателя КАК Заказы ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗакрытиеЗаказовПокупателей.Заказы КАК ЗакрытиеЗаказовПокупателейЗаказы ПО (ЗакрытиеЗаказовПокупателейЗаказы.ЗаказПокупателя = Заказы.Ссылка) ГДЕ Заказы.Дата >= &ДатаНач И Заказы.Дата <= &ДатаКон И Заказы.Организация = &Организация СГРУППИРОВАТЬ ПО Заказы.Ссылка, ВЫБОР КОГДА ЗакрытиеЗаказовПокупателейЗаказы.ЗаказПокупателя ЕСТЬ NULL ТОГДА "Не закрыт" КОГДА ЗакрытиеЗаказовПокупателейЗаказы.ПричинаЗакрытияЗаказа.Код = "000000008" ИЛИ ЗакрытиеЗаказовПокупателейЗаказы.ПричинаЗакрытияЗаказа = ЗНАЧЕНИЕ(Справочник.ПричиныЗакрытияЗаказов.ПустаяССылка) ТОГДА "Не указана" ИНАЧЕ ЗакрытиеЗаказовПокупателейЗаказы.ПричинаЗакрытияЗаказа КОНЕЦ |
|||
8
Ilqarupup
14.03.15
✎
19:52
|
костыль конечно)
|
|||
9
RomanYS
14.03.15
✎
19:58
|
(8) замени
Код = "000000008" на Наименование = "" будет выглядеть логичнее) |
|||
10
zladenuw
14.03.15
✎
20:57
|
лучше уже параметр в запрос. что бы феншуй
|
|||
11
zladenuw
14.03.15
✎
21:01
|
(7) если по феншую. забуть "или" делай все через выбор когда. поймешь при работе с большими бд...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |