Рассмотрим запрос
select listagg(''''||Name||'''', ',') within group (order by Name) from STUDENTS;
Это дает мне вывод как
'Jon','Rob','Bran'
Как использовать это во внутреннем запросе, рассмотрим следующий пример:
with lst as(
select listagg(''''||Name||'''', ',') within group (order by Name) as name_list from STUDENTS)
select * from result where Name in (select name_list from lst)
Ожидаемый результат :
-----------------
| Name | Score |
-----------------
| Jon | 80 |
-----------------
| Rob | 60 |
-----------------
| Bran | 75 |
-----------------
Но фактический результат не возвращает никаких строк, поскольку он рассматривает подзапрос как одно поле.
Как с этим можно справиться?