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

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