|
Как передать значение поля запроса, как параметр во вложенный подзапрос
|
|||
---|---|---|---|
#18+
Использую версию оракла 11g Если делаю запрос с подзапросом в части select вот так Код: plsql 1. 2. 3. 4. 5. 6.
то всё хорошо. А если пытаюсь в этом запросе использовать подзапрос со 2-м и т.д. уровнем вложенности вот так Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
то получаю ошибку о том, что в подзапросе не видно значение поля запроса d.parent_id, которое передаётся в подзапрос параметром. Как в таких случаях лучше грамотнее переписать весь запрос? Можно, конечно, функцию сделать, но не хочется так тратиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 17:55 |
|
Как передать значение поля запроса, как параметр во вложенный подзапрос
|
|||
---|---|---|---|
#18+
verter, Вытащи поле по которому фильтруешь на уровень выше, у меня oracle понимал и делал всё правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 17:57 |
|
Как передать значение поля запроса, как параметр во вложенный подзапрос
|
|||
---|---|---|---|
#18+
mibin verter, Вытащи поле по которому фильтруешь на уровень выше, у меня oracle понимал и делал всё правильно. если вот так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
то не прокатывает, так же выдаёт ошибку, что не видит. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 18:00 |
|
Как передать значение поля запроса, как параметр во вложенный подзапрос
|
|||
---|---|---|---|
#18+
verter, Зачем именно в двойные скобки оборачивать? Вот так не поможет? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 18:03 |
|
Как передать значение поля запроса, как параметр во вложенный подзапрос
|
|||
---|---|---|---|
#18+
mibin, да, теперь хорошо. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 18:18 |
|
Как передать значение поля запроса, как параметр во вложенный подзапрос
|
|||
---|---|---|---|
#18+
verter подзапрос со 2-м и т.д. уровнем вложенности Код: plsql 1. 2. 3. 4. 5.
или Код: plsql 1. 2. 3. 4. 5.
Но в операторе table коррелированные предикаты тоже нельзя запихивать вглубь. То есть это не workaround для произвольной вложенности в отличие от UDF. Например такое сработает в 12c, но не 11g. Код: plsql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 18:20 |
|
Как передать значение поля запроса, как параметр во вложенный подзапрос
|
|||
---|---|---|---|
#18+
можно само поле на верх не вытаскивать, тоже работает: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 18:33 |
|
Как передать значение поля запроса, как параметр во вложенный подзапрос
|
|||
---|---|---|---|
#18+
verter, Я то думал тебе надо реализовать сложную логику и запрос был приведён только как набросок. Если же требуется сделать банальный look-up в скаляре то Код: plsql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 18:56 |
|
|
start [/forum/topic.php?fid=52&msg=39920128&tid=1881612]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 154ms |
0 / 0 |