Avatar billede bpuschl Nybegynder
31. januar 2006 - 11:12 Der er 5 kommentarer og
1 løsning

flere værdier i et felt

Jeg har følgende problem:

Jeg vil gerne have en række værdier returneret på en række i et kommasepareret format f.eks.

|NR|
----
|1|
---
|2|
---
|3|
---

Skal returneres som

Nr
-------
|1,2,3|
-------

Mit spørgsmål går på om der findes en Oracle function som kan gøre dette?
Avatar billede senj Nybegynder
31. januar 2006 - 11:17 #1
select '1'||','||'2'||','||'3' from dual

select col1||col2 from tabel

select col1||' - '||col2 tabel
Avatar billede bpuschl Nybegynder
31. januar 2006 - 11:25 #2
Det jeg gerne vil ende ud med er en query i denne stil

select function_som_jeg_efterspørger(nr,seperatorværdi)
from table
group by id

Således at alle de unikke værdier som queryen returnere bliver concateret samme i et felt og adskilt af seperatorværdien. Findes der en sådanne funktion?
Avatar billede senj Nybegynder
31. januar 2006 - 11:28 #3
Nej det tror jeg bestemt ikke, den skal du lave i PL/SQL og så kalde den fra din SQL.

Kommer de unikke fra samme column?
Avatar billede teepee Nybegynder
31. januar 2006 - 11:28 #4
Du kan selv lave en function der åbner en cursor og looper alle rækker.
Ellers her er en sjov artikel om pivot i en lidt ældre version.
http://rhea.redhat.com/bboard-archive/webdb/0007WC.html
Avatar billede bpuschl Nybegynder
31. januar 2006 - 11:48 #5
Det er også min konklusion, men det virker da spøjs at en så brugbar funktion ikke findes.
Avatar billede teepee Nybegynder
31. januar 2006 - 12:58 #6
Jeg tror at det er fordi den i mange tilfælde ville være uanvendelig.
Du må desværre selv holde lidt styr på de udtrukne række.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester