Ich benutze SQL Developer 3.1.07 auf einer 11g Datenbank Wenn ich Listagg verwenden, um mehrere Werte aus einem Feld zu extrahieren, bekomme ich ein Leerzeichen zwischen jedem Zeichen in den Ergebnissen für Die Spalte listagg. Die Abfrage gibt alle Werte zurück, die ich zu sehen erwarte, es sind nur die zusätzlichen Leerzeichen, die mich verrückt machen. Irgendwelche Gedanken? HierOracle SQL Developer 3.1.07 zusätzliche Leerzeichen zwischen Zeichen mit listagg
ist eine Abfrage, die ich verwendet habe, aber es passiert immer wenn ich verwenden listagg in einer Abfrage:
select a.personnum Emp_ID
, a.personfullname Name
, a.companyhiredtm Hire_Date
, a.employmentstatus Status
, a.employmentstatusdt Status_Date
, h.Supervisor, h.Agency
from vp_employeev42 a
left outer join (select f.personid
, listagg (g.personcstmdatatxt, ',') within group
(order by g.customdatadefid) Supervisor
from vp_employeev42 f
left outer join personcstmdata g
on f.personid = g.personid
where f.personnum like 'T%'
and f.homelaborlevelnm3 = '1872'
and (g.customdatadefid = '1'
or g.personcstmdatatxt is null)
group by f.personid) h
on a.personid = h.personid
left outer join (select f.personid
, listagg (g.personcstmdatatxt, ',')
within group (order by g.customdatadefid) Agency
from vp_employeev42 f
left outer join personcstmdata g
on f.personid = g.personid
where f.personnum like 'T%'
and homelaborlevelnm3 = '1872'
and (g.customdatadefid = '3'
or g.personcstmdatatxt is null)
group by f.personid) h
on a.personid = h.personid
where personnum like 'T%'
and homelaborlevelnm3 = '1872'
order by personnum;
Hier sind die Ergebnisse erhalte ich:
EMP_ID,NAME,HIRE_DATE,STATUS,STATUS_DATE,SUPERVISOR,AGENCY
T98999,Lxxxxm, Lxxxn,20-SEP-12,Active,20-SEP-12,, S t a f f m a r k
T98989,Fxxxxn, Dxxxxa,10-DEC-12,Active,10-DEC-12,, S t a f f m a r k
T99989,Hxxxs, Cxxxxxa,02-OCT-12,Active,02-OCT-12,, S t a f f m a r k
T99999,Hxxxs, Dxxxn,30-JAN-12,Terminated,21-MAY-12, C x x x x x x x x x r T x x x x r, P R O L O G I S T I X
Bitte posten Sie in Zukunft einen * kleinen reproduzierbaren * Testfall anstelle eines großen Teils schwer verständlichen Codes. Abgesehen von allem anderen bietet die Tatsache, ein Problem auf das Wesentliche zu bringen, oft die Lösung, die der beste Weg zum Lernen ist. – APC