Avatar billede askhoej Praktikant
25. oktober 2006 - 00:48 Der er 6 kommentarer og
1 løsning

Udskrive flere resultater som en kommasepareret streng

Hej

Jeg har følgende problemstilling.

Tre tabeller:

[Kunde]
kun_id
kun_navn
kun_adresse
kun_telefon

[Produkt]
pro_id
pro_navn

[Bestilling]
bes_id
bes_kun_id
bes_pro_id


Jeg vil nu gerne lave et udtræk over kunder og de produkter de har bestilt. Produkterne skal udskrives som en kommasepareret streng i en kolonne.

SELECT kun_id,kun_navn,HentProdukter(kun_id) FROM kunde

Hvordan laver jeg funktionen HentProdukter?

/askhoej
Avatar billede arne_v Ekspert
25. oktober 2006 - 01:00 #1
det er 100 gange nemmere at lave det i din applikation (ASP, C#, Java eller hvad du nu
bruger) end i SQL
Avatar billede lorentsnv Nybegynder
25. oktober 2006 - 09:15 #2
Det er nok rigtig som arne siger, at det i mange tilfælder vil være nemmere at lave dit udtræk i applicationen. Det er eventuelt muligheder for at lave en sql som nedenstående. Den kan eventeult suppleres med enkelt- eller dobbelt plingere om teksten hvis ønskelig.

Select cast(kud_id as varchar(10))
  + ',' + kun_navn
  + ',' + cast(pro_id as varchar(10))
  + ',' + pro_navn
From Kunde k, Produkt p, Bestilling b
where k.kun_id = b.bes_kun_id
and b.bes_pro_id = p.pro_id
Avatar billede lorentsnv Nybegynder
25. oktober 2006 - 09:29 #3
Fra SQL Server er det også muligheder for at lave et job (DTS/SSIS) hvor du bruger en SQL som ovenstående, og eksportere til tekstfil. Alternativet er at køre sql'en i Query Analyzer, med output som file.
Avatar billede lorentsnv Nybegynder
25. oktober 2006 - 09:31 #4
En lille skrivefejl i første linie (kud_id ændret til kun_id)

Select cast(kun_id as varchar(10))
  + ',' + kun_navn
  + ',' + cast(pro_id as varchar(10))
  + ',' + pro_navn
From Kunde k, Produkt p, Bestilling b
where k.kun_id = b.bes_kun_id
and b.bes_pro_id = p.pro_id
Avatar billede lorentsnv Nybegynder
30. august 2007 - 09:43 #5
Kunne du bruge ovenstående?
Måske på tide at lukke spørgsmålet ;-)
Avatar billede askhoej Praktikant
21. juni 2008 - 12:21 #6
lukker
Avatar billede arne_v Ekspert
21. juni 2008 - 21:54 #7
Det var jo også en måde at afslutte et spørgsmål på.
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