|
|
|
прошу помощи с 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: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 365ms |

| 0 / 0 |
