#oracle #oracle11g #oracle12c #oracleforms
#Oracle #oracle11g #oracle12c #oracleforms
Вопрос:
у меня есть форма, которая содержит два блока базы данных A и B. они связаны условием детализации (объединения): A.учетнаязапись=B.учетнаязапись
учетная запись имеет тип varchar2(10). она работает нормально. но проблема в том, что столбец (учетная запись) в таблице B может содержать данные длиной (5), которые равны другому столбцу в таблице A с именем (subacc).
как получить все данные в соответствии с приведенными ниже условиями: A.account = B.account или A.subacc = B.account
Комментарии:
1. Могут ли эти три столбца иметь нулевые значения ..?
2. нет, они не могут быть нулевыми
Ответ №1:
Вам нужно такое условие соединения, в котором все разделенные условия являются взаимоисключающими, следует добавить в узел Отношений основного блока данных :
( A.account=B.account AND LENGTH(B.account)>5 )
OR ( A.subacc=B.account AND LENGTH(B.account)<=5 )
Поскольку все эти столбцы имеют значения not NULL, то не требуется никаких дополнительных условий для фильтрации, является ли какой-либо из столбцов нулевым.
Комментарии:
1. где записать условие? и должен ли я удалить основную детальную связь или сохранить ее
2. должно быть добавлено в узел отношений основного блока данных @user11161741