|
СКД. Связи наборов данных. ЕСТЬ NULL | ☑ | ||
---|---|---|---|---|
0
Zixxx
14.01.18
✎
12:44
|
Какое условие нужно задать полю, если при связи наборов данных его значение что-то типа null
Как вариант можно задать вид сравнения Заполнено, тогда такие поля не попадают в результат Если задать вид сравнения НеЗаполнено, то такие поля все равно не попадают в результат В вычисляемых полях такие поля определяются как NULL Если программно устанавливать отбор на ВидСравнения.Равно NULL, то не попадает в результат Как правильно задать отбор чтобы получить пустые поля из связей наборов данных? |
|||
1
vicof
14.01.18
✎
14:56
|
естьnull()
|
|||
2
milan
14.01.18
✎
15:24
|
Никак, при использовании отбора, левое соединение наборов данных заменяется на внутреннее, зачем, непонятно.
|
|||
3
Лефмихалыч
14.01.18
✎
15:29
|
(0) добавить вычисляемое поле, в котором будет
ВЫБОР КОГДА ЕСТЬ NULL тогда истина иначе ложь и отбирать по нему (2) это не зачем. Это запрос так работает. На любой СУБД. |
|||
4
Zixxx
14.01.18
✎
16:02
|
(3) Нет так номер не пройдет, если есть связи наборов, то вычисляемое поле будет как представление, либо содержать значение какой-то неопределенности и в случае наложения отбора именно эта неопределенность и будет на первом месте.
Причем даже типовая расшифровка предложит такой быстрый отбор но ничего не покажет. А вот если вычисляемое поле идет без связей наборо тогда будет работать |
|||
5
Лефмихалыч
14.01.18
✎
16:19
|
(4) ну, да. Можно добавить в первый набор необязательное соединение именно для вычисления этого ВЫБОР КОГДА ТОГДА. Будет работать быстрее, чем все ухищрения с вычисляемыми полями, но может сбивать с толку тех, кто будет читать этот запрос через пару месяцев
|
|||
6
milan
14.01.18
✎
17:25
|
(3) что за запрос, и почему он работал по другому в ранних версиях платформы? Кажется такая же фигня в динамических списках, но могу ошибаться.
|
|||
7
Лефмихалыч
14.01.18
✎
17:32
|
(6) сравнение нула с чем угодно возвращает ложь в запросе во всех СУБД, поддерживающих join'ы.
|
|||
8
milan
14.01.18
✎
17:42
|
(6) нет, не ошибаюсь, в типовых не получится отобрать документы без присоединенных файлов, ибо джоин превращается во внутренний
|
|||
9
milan
14.01.18
✎
17:43
|
(7) в нашем примере условие проверяет нулл
|
|||
10
Franchiser
гуру
14.01.18
✎
22:25
|
Такое условие можно задать только на уровни нижележащих группировок (и детальных записей), учли использовать условие на уровне все отчета СКД применит внутренне соединение.
Другой вариант - использовать вычисляемое поле и по нему потом делать фильтр |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |