Avatar billede ktl Nybegynder
08. april 2002 - 18:22 Der er 3 kommentarer og
1 løsning

Sql problem

Hejsa

Er der nogen der kan løse følgende, kun ved brug af sql.

Jeg har følgende records:
1000, 'abc'
1000, 'xxx'
1000, 'ooo'
1001, 'qwe'
1002, 'asd'

Jeg skal returnere følgende:
1000, 'abc-xxx-ooo'
1001, 'qwe'
1002, 'asd'

Jeg kan godt lave dette i en stored procedure vha. cursors, men kom til at tænke på om man kan lave dette uden at bruge en stored procedure? Jeg har ikke selv kunnet finde en løsning, men måske kender du lige een. Det kunne jo være jeg havde overset noget 8-)
Avatar billede Slettet bruger
09. april 2002 - 01:45 #1
skal lige "lege" lidt med det
Avatar billede Slettet bruger
09. april 2002 - 17:54 #2
det kan lade sig gøre, men det er ikke smart, hvis du eksempelvis får endnu en record med 1000 dur nedenstående ikke. lav det i PL/SQL der har du mulighed for at bruge og sammenligne flere rækker vha. cursor

select distinct(decode(t1.id,t2.id,t1.id||','||t1.text||'-'||t2.text,decode(t1.id,t3.id,t1.id||','||t1.text||'-'||t2.text||'-'||t3.text,t1.text)))
from din_tabel t1,din_tabel t2,din_tabel t3
Avatar billede ktl Nybegynder
09. april 2002 - 21:07 #3
sorry men det skal være med dynamisk antal :(
Avatar billede ktl Nybegynder
11. april 2002 - 17:04 #4
nå jeg lukker...
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