2
Die Spalte good_name ist null für alle Ergebnisse. Was ist ein Problem in der Abfrage?Oracle Listagg-Funktion gibt null zurück
select fp.id,
listagg(fpg.name, ',') within group(order by fpg.name) good_name
from fp_place_goods fppg join
fp_places fp on fppg.place_id = fp.id join
fp_goods fpg on fppg.good_id = fpg.id
GROUP BY fp.id
however query below works
select fp.id,
listagg(fpg.id, ',') within group(order by fpg.id) good_ids
from fp_place_goods fppg join
fp_places fp on fppg.place_id = fp.id join
fp_goods fpg on fppg.good_id = fpg.id
GROUP BY fp.id
select fp.id, fpg.name from fp_places fp join
fp_place_goods fppg on fp.id = fppg.place_id join
fp_goods fpg on fpg.id = fppg.good_id
Rückkehr das Ergebnis in Bild
Die Abfrage sieht OK aus. Können Sie das Problem bei einigen Testdaten reproduzieren, die Sie mit dem Forum teilen können? Haben Sie auch versucht, dies mit fp.id, fpg.name von ... auszuführen, um zu sehen, wie der Join überhaupt aussieht? – mathguy
Join funktioniert perfekt, und die Funktion max() funktioniert auf fpg.name, aber ich kann nicht finden, was fehlt, um listagg zu verwenden. – Hikmat