|
SQL можно ли использовать case в where
|
|||
---|---|---|---|
#18+
Доброе время суток, Я пишу внутреннюю процедуру (Firebird), и в ней используется 2 входных параметра: ":IN_PROPOSAL_ID" и ":IN_DEPARTMENT_ID_EXECUTE". Но проблема такая, что в select я хочу использовать 2 типа where (или/или): - 1-ый вариант: если я передаю " :IN_PROPOSAL_ID" = <значение> , а " :IN_DEPARTMENT_ID_EXECUTE" <= 0 , то выражение должно быть Код: sql 1.
- 2-ой вариант: если я передаю " :IN_PROPOSAL_ID" = <значение> , а " :IN_DEPARTMENT_ID_EXECUTE" > 0 , то выражение должно быть Код: sql 1.
У меня вопрос: Можно ли писать вот так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
дело в том, что процедура компилится, но с ошибкой «Parsing error» На строке Код: sql 1.
Заранее спасибо за ответ ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 23:35 |
|
SQL можно ли использовать case в where
|
|||
---|---|---|---|
#18+
Код: sql 1. 2.
PS надеюсь, 2010 - это не год рождения ? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 23:50 |
|
SQL можно ли использовать case в where
|
|||
---|---|---|---|
#18+
Kos-2010, CASE в Firebird это выражение возвращающее значение. То что ты хочешь будет работать в 3.0, потому что в нём есть тип BOOLEAN, но лучше так не делать потому что в этом случае про использование индексов можешь забыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 23:53 |
|
SQL можно ли использовать case в where
|
|||
---|---|---|---|
#18+
Kos-2010, замени case на iif. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 10:17 |
|
SQL можно ли использовать case в where
|
|||
---|---|---|---|
#18+
KreatorXXI, А шило замени на мыло. Что изменится? Kos-2010, Это без кейса пишется: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 12:44 |
|
SQL можно ли использовать case в where
|
|||
---|---|---|---|
#18+
WildSery, всё равно без индексов будет если данных много, я бы сделал два SELECT'а на оба случая порознь и например соединил бы их через UNION ALL ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2018, 20:46 |
|
SQL можно ли использовать case в where
|
|||
---|---|---|---|
#18+
Коль это не запрос а процедура - можно вообще сделать 2 отдельных запроса а выполнять каждый или нет - по обычному условию if. В один набор данных они сами по suspend объединятся, без всяких union all ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 09:14 |
|
SQL можно ли использовать case в where
|
|||
---|---|---|---|
#18+
Побредить штоле постпятнично тоже Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 18:50 |
|
SQL можно ли использовать case в where
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаПобредить штоле постпятнично тоже Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Тьфу. Тяжёлая пятница была, недовырезал. Вот так, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2018, 18:52 |
|
|
start [/forum/topic.php?fid=40&fpage=29&tid=1560936]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 158ms |
0 / 0 |