16. oktober 2009 - 11:22Der er
1 kommentar og 1 løsning
Udtræk flere værdier til et felt
Hej
Jeg har en udfordring!
Jeg har 2 tabeller, vi kalder dem ordre og ordre_linie. Én ordre kan selvsagt have flere ordre_linier.
I tabellen ordre_linie har jeg et felt der hedder produkt_id.
Nu vi jeg gerne have et udtræk, hvor jeg får alle mine ordre ud, med alle produkt_id'erne fra ordre_linie, men kun 1 row per ordre. Produkt_id'erne skal komme efter ordre.ordre_id og være kommasepareret.
Hvis en ordre med id 1 fx har to ordre_linier, med hhv, produkt_id 10 og 20, vil jeg altså gerne kunne trække følgende ud:
select o.ordre_id, (select ol.produkt_id + ',' from ordre_linie ol where ol.ordre_id = o.ordre_id order by ol.produkt_id FOR XML PATH('')) as Produkter from ordre o
En mulighed var også at lave din Aggregate funktion som laver en konkatenering af dine id's ...
// ouT
Så din ville få en sql ala:
select o.ordre_id, concat(ol.produkt_id) as Produkter from ordre o
Synes godt om
Ny brugerNybegynder
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.