Betrachten Sie die AbfrageWie verwendet man kommagetrennte Werte von listagg in der inneren Abfrage?
select listagg(''''||Name||'''', ',') within group (order by Name) from STUDENTS;
Diese mir Ausgabe als
'Jon','Rob','Bran'
gibt Wie verwende ich diese in innere Abfrage folgendes Beispiel:
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)
Erwartetes Ergebnis:
-----------------
| Name | Score |
-----------------
| Jon | 80 |
-----------------
| Rob | 60 |
-----------------
| Bran | 75 |
-----------------
Das tatsächliche Ergebnis gibt jedoch keine Zeilen zurück, da die Unterabfrage als einzelnes Feld betrachtet wird.
Wie kann das gehandhabt werden?
oder diese: http://stackoverflow.com/questions/18770581/oracle- split-multiple-comma-separated-values-in-oracle-table-zu-mehreren-rows –