[ Kety @ 08.10.2015. 10:44 ] @
Pozdrav,
Zamolila bi ako neko ima rešenje da mi pomogne. Problem je:
Imam tabelu SARADNICI u kojoj su imena i prezimena svih saradnika. Zbog nekih izveštaja koji su potrebni, za jednog radnika mora da se veže više saradnika, i to nije problem. Problem nastaje kada u izveštaju u polju za saradnike prikaže više imena u nizu
Npr:
Pera Perić, Mika Mikić, Žika Žikić

A treba da izgleda:
Pera Perić,
Mika Mikić,
Žika Žikić

Kao što se vidi treba mi prelom teksta posle svakog zareza. Naravno, ako je to moguće.

Upit izgleda ovako:

Code:
SELECT IDN, WM_CONCAT(RADNIK) AS SARADNIK FROM
(SELECT IDN, RADNIK FROM SARADNICI)
GROUP BY IDN
[ dusans @ 08.10.2015. 10:54 ] @
Ovo je ORACLE?
Probaj ovako:
Code:

SELECT IDN, LISTAGG(RADNIK, ', '||chr(13)||chr(10)) AS SARADNIK FROM
(SELECT IDN, RADNIK FROM SARADNICI)
GROUP BY IDN

[ Kety @ 08.10.2015. 11:09 ] @
Jeste Oracle.
Dobila sam poruku:
ora-2000 missing WITHIN keyword
[ dusans @ 08.10.2015. 11:13 ] @
Definitivno ti treba LISTAGG funkcija ali ne radim u ORACLE-u tako da
ne znam tačnu sintaksu, mogu samo napamet-otprilike da pišem,
probaj ovde dok se neko ko tačno zna ne javi:
http://docs.oracle.com/cd/E118...84/functions089.htm#SQLRF30030
[ Kety @ 08.10.2015. 11:15 ] @
Važi, hvala za trud.
[ Kety @ 08.10.2015. 12:49 ] @
Koristila sam LISTAGG funkcija ali i dalje dobijam u nizu a ne jedno ispod drugog

Code:
SELECT IDN, LISTAGG(RADNIK, ', ') WITHIN GROUP (ORDER BY RADNIK) AS SARADNIK FROM
 (SELECT IDN, RADNIK FROM SARADNICI)
 GROUP BY IDN


jedino ako još nešto treba da dodam

[ dusans @ 08.10.2015. 12:54 ] @
Napisao sam gore u primeru, fale ti karakteri za novu liniju, mislim da idu ovako ||chr(13)||chr(10)
Code:

SELECT IDN, LISTAGG(RADNIK, ', '||chr(13)||chr(10)) WITHIN GROUP (ORDER BY RADNIK) AS SARADNIK FROM
 (SELECT IDN, RADNIK FROM SARADNICI)
 GROUP BY IDN
[ Kety @ 08.10.2015. 13:52 ] @
radi :)
hvala puno.