|
прошу помощи с reports, select и условием
|
|||
---|---|---|---|
#18+
добрый день! Заранее извиняюсь за глупый вопрос, только недавно начала работать с Oracle. У меня не работает иерархический запрос только в части условия where. Ощущение, что накосячила с синтаксисом. where case when :kn_active_units=1 then to_date(:p_date,'dd.mm.yyyy') BETWEEN nvl(DATE_FROM, '01.01.2001') AND nvl(DATE_TO, '31.12.2999') else 1=1 end Что здесь происходит: когда в форме стоит галка :kn_active_units, переданная в reports как параметр, должно выполняться условие, чтобы выводились только документы на текущую дату. Без условия по кнопке эта строка работает: where to_date(:p_date,'dd.mm.yyyy') BETWEEN nvl(DATE_FROM, '01.01.2001') AND nvl(DATE_TO, '31.12.2999') а вот оператор Case выполняться не хочет, пишет ошибку "нужно ключевое слово". Помогите, пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2019, 10:14 |
|
прошу помощи с reports, select и условием
|
|||
---|---|---|---|
#18+
Нельзя case-ом менять текст запроса. Если уж прям хотите case, сделайте второй уровень Код: plsql 1.
Или условие напишите, чтобы оно меняло не запрос, а данные. Код: plsql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2019, 10:54 |
|
прошу помощи с reports, select и условием
|
|||
---|---|---|---|
#18+
Sotmaria, Как уже выше написали case таким образом использовать нельзя, и нужно научиться выражать условия через or и and, так ваше условие эквивалентно условию Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2019, 11:14 |
|
|
start [/forum/topic.php?fid=52&fpage=67&tid=1882114]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 258ms |
total: | 387ms |
0 / 0 |