![]() |
![]() |
![]() |
|
исключение значения NULL в вычисляемых полях | ☑ | ||
---|---|---|---|---|
0
LivingStar
08.08.12
✎
06:30
|
в основном запросе пакетного запроса, есть 3 вычисляемых поля с псевдонимами, мне нужно на них наложить условие что бы не вибирались записи где в каждом из них значится значение NULL, так как это не поля запроса условие на них не задать, как это сделать можно?
|
|||
1
Галахад
гуру
08.08.12
✎
06:32
|
А откуда Null берется?
|
|||
2
LivingStar
08.08.12
✎
06:35
|
(1) в этих полях ставится значение 1 если соответствует условию, если нет соответственно тама NULL, и их очень много и они не нужны эти записи вот и хочу их убрать из запроса, похоже нужно делать ещё один основной, а этот ложить в пакет, тогда и можно будет на них задать условие при выборе из виртуальной таблицы
|
|||
3
LivingStar
08.08.12
✎
06:38
|
что то пока вообще ничего не выбрал, когда наложил условие на эти 3 поля...
|
|||
4
Speshuric
08.08.12
✎
06:39
|
(0)(2)(3) Текст в студию!
|
|||
5
SeraFim
08.08.12
✎
06:41
|
у ДенисЧ появился конкурент! Продам СП! Дешево! да-да, демпинг ;)
|
|||
6
LivingStar
08.08.12
✎
06:41
|
ВЫБРАТЬ
Абоненты.Ссылка, Абоненты.Подразделения ПОМЕСТИТЬ ВТ_Абонент ИЗ Справочник.Абоненты КАК Абоненты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗначенияСвойствОбъектовСрезПоследних.Объект, ЗначенияСвойствОбъектовСрезПоследних.Свойство, ЗначенияСвойствОбъектовСрезПоследних.Значение ПОМЕСТИТЬ ВТ_Нелегальщик ИЗ РегистрСведений.ЗначенияСвойствОбъектов.СрезПоследних(&ДатаВыбора, ) КАК ЗначенияСвойствОбъектовСрезПоследних ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗначенияСвойствОбъектовСрезПоследних.Объект, ЗначенияСвойствОбъектовСрезПоследних.Свойство, ЗначенияСвойствОбъектовСрезПоследних.Значение ПОМЕСТИТЬ ВТ_Участок ИЗ РегистрСведений.ЗначенияСвойствОбъектов.СрезПоследних(&ДатаВыбора, ) КАК ЗначенияСвойствОбъектовСрезПоследних ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Абонент.Ссылка КАК Абонент, ВТ_Абонент.Подразделения КАК Подразделение, ВТ_Нелегальщик.Свойство КАК Нелегальщик, ВТ_Нелегальщик.Значение КАК НелегальщикЗначение, ВТ_Участок.Свойство КАК Участок, ВЫБОР КОГДА НЕ ВТ_Участок.Значение.Наименование ПОДОБНО "%Несанкционирован%" ТОГДА "заключен" ИНАЧЕ "незаключен" КОНЕЦ КАК СостояниеДоговора, ВТ_Участок.Значение КАК УчастокЗначение, ВЫБОР КОГДА ВТ_Участок.Значение.Наименование ПОДОБНО "%Несанкционирован%" ТОГДА ВЫБОР КОГДА ВТ_Нелегальщик.Свойство = &Нелегальщик ТОГДА 1 КОНЕЦ КОНЕЦ КАК Нелегал, ВЫБОР КОГДА НЕ ВТ_Участок.Значение.Наименование ПОДОБНО "%Несанкционирован%" ТОГДА ВЫБОР КОГДА ВТ_Нелегальщик.Свойство = &Нелегальщик ТОГДА 1 КОНЕЦ КОНЕЦ КАК НелегалСДоговором, ВЫБОР КОГДА ВТ_Участок.Значение.Наименование ПОДОБНО "%Несанкционирован%" ТОГДА ВЫБОР КОГДА ВТ_Нелегальщик.Свойство <> &Нелегальщик ТОГДА 1 КОНЕЦ КОНЕЦ КАК НаПроверку ПОМЕСТИТЬ ЗапросПакета4 ИЗ ВТ_Абонент КАК ВТ_Абонент ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Нелегальщик КАК ВТ_Нелегальщик ПО ВТ_Абонент.Ссылка = ВТ_Нелегальщик.Объект ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Участок КАК ВТ_Участок ПО ВТ_Абонент.Ссылка = ВТ_Участок.Объект ГДЕ ВТ_Нелегальщик.Значение = ИСТИНА И ВТ_Участок.Свойство = &Участок ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗапросПакета4.Абонент, ЗапросПакета4.Подразделение, ЗапросПакета4.Нелегальщик, ЗапросПакета4.НелегальщикЗначение, ЗапросПакета4.Участок, ЗапросПакета4.СостояниеДоговора, ЗапросПакета4.УчастокЗначение, ЗапросПакета4.Нелегал, ЗапросПакета4.НелегалСДоговором, ЗапросПакета4.НаПроверку ИЗ ЗапросПакета4 КАК ЗапросПакета4 ГДЕ ЗапросПакета4.Нелегал <> NULL ИЛИ ЗапросПакета4.НелегалСДоговором <> NULL ИЛИ ЗапросПакета4.НаПроверку <> NULL |
|||
7
LivingStar
08.08.12
✎
06:42
|
(4)
не выбирает, ни так ГДЕ ЗапросПакета4.Нелегал <> NULL ИЛИ ЗапросПакета4.НелегалСДоговором <> NULL ИЛИ ЗапросПакета4.НаПроверку <> NULL ни так ГДЕ ЗапросПакета4.Нелегал = NULL ИЛИ ЗапросПакета4.НелегалСДоговором = NULL ИЛИ ЗапросПакета4.НаПроверку = NULL |
|||
8
SeraFim
08.08.12
✎
06:43
|
Открой для себя ЕСТЬ NULL. Сравнивать с NULL нельзя
|
|||
9
LivingStar
08.08.12
✎
06:44
|
(8) то есть обработать на ЕСТЬNULL а потом уже сверять с "" к примеру? сейчас попробую...
|
|||
10
SeraFim
08.08.12
✎
06:49
|
Еще раз - читай справку.
Суть функция: Функция ЕСТЬNULL Функция предназначена для замены значения NULL на другое значение. Параметры функции: Первый параметр — выражение любого типа Второй параметр — выражение любого типа Возвращаемое значение: значение первого параметра, в случае, если первый параметр не содержит значение NULL, значение второго параметра в противном случае. Второй параметр будет преобразован к типу первого в случае, если тип первого параметра является строкой или числом. а есть оператор Оператор проверки значения на NULL Оператор ЕСТЬ NULL позволяет проверить значение выражения слева от него на NULL. Если значение равно NULL – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ. Применение НЕ изменяет действие оператора на обратное. |
|||
11
Chai Nic
08.08.12
✎
07:03
|
(10) Интересно, а почему авторы 1с в конструкции "IS NULL" перевели IS, а NULL оставили?
|
|||
12
Ненавижу 1С
гуру
08.08.12
✎
07:05
|
(11) потому что тогда бы его следовало перевести как Неопределено, но его они уже придумали
|
|||
13
Chai Nic
08.08.12
✎
07:55
|
(12) Тогда не надо было переводить вообще.. математические функции (sin,cos и т.д.) ведь не переводили.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |