---
title: "Komma separerad select"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/162416-komma-separerad-select"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Addeladde"
published: "2007-07-10T20:11:17.000Z"
updated: "2007-07-11T12:19:40.000Z"
replies: 5
views: 463
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/162416-komma-separerad-select"
---

# Komma separerad select

## #1 — Addeladde, 2007-07-10T20:11Z

Hej

Följande sql-sats ger en komma separerad lista.

```
DECLARE @listStr VARCHAR(MAX)
SELECT 	@listStr = COALESCE(@listStr+',' , '') + NumberCols
FROM	NumberTable
SELECT 	@listStr
```

Men om jag skulle vilja kunna få ut denna komma separerade lista i en annan select sats hur gör jag då?

```
Select t.*, (Select kommasepareradlista) As lista from tabell
```

Permalänk: https://www.webforum.nu/p/162416

## #2 — emission, 2007-07-10T23:07Z

Du får nog förklara lite mer. Vill du att de värden som ingår i den kommaseparade listan ska baseras på något i den använda tabellen?

DMBS?

Permalänk: https://www.webforum.nu/p/2002664

## #3 — Addeladde, 2007-07-11T08:56Z

Hej

DMBS = MS SQL-Server 2005

Japp jag vill att värdena ska baseras på den använda tabellen.

Exempel:

```
Select t.*, (Select kommasepareradlista where id = t.id) As lista from tabell
```

Permalänk: https://www.webforum.nu/p/2002705

## #4 — Travoni, 2007-07-11T09:07Z

Titta på denna funktion:
<http://www.webforum.nu/showthread.php?p=996051#post996051>

Permalänk: https://www.webforum.nu/p/2002708

## #5 — emission, 2007-07-11T09:28Z

För det första så måste jag å det bestämdaste avråda från att arbeta med kommaseparerade värden i databasen. I det här fallet verkar de mer handla om att plocka ut värden, och då kan det funka, men själva konkateneringen är något man gärna kan överlämna till andra lager än databasen.

COALESCE-varianten är fin, men kan inte användas i ett SELECT-kontext, eftersom den bygger på tilldelning av variabler etc. I stället får du skapa en UDF som kör COALESCE-varianten, eller (eftersom det är SQL Server 2005) så skapar du en egen aggregatfunktion med CREATE AGGREGATE.

<http://msdn2.microsoft.com/en-us/library/ms182741.aspx>

Permalänk: https://www.webforum.nu/p/2002714

## #6 — Addeladde, 2007-07-11T12:19Z

Okej Tack jag ska titta på detta ikväll.
Sitter upptagen med annat nu.

En annan lösning har varit att joina tabellerna och sedan plocka ihop det i C# koden när man lägger in det i klassen.

/Andreas

Permalänk: https://www.webforum.nu/p/2002759

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/162416-komma-separerad-select
