---
title: "Vända data"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/179278-vända-data"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Vide"
published: "2009-07-06T13:34:34.000Z"
updated: "2009-07-06T17:44:42.000Z"
replies: 2
views: 450
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/179278-vända-data"
---

# Vända data

## #1 — Vide, 2009-07-06T13:34Z

Hejsan,

Som en förlängning, eller rättare sagt en variant på <http://www.webforum.nu/showthread.php?t=174965>

Jag vill nu kunna få detta data:
ID, Q1, Q2, Q3
1, 5, 3, 5
2, 4, 1, 3
3, 5, 2, 3

... att se ut såhär:
ID, Column, Value
1, Q1, 5
1, Q2, 3
1, Q3, 5
2, Q1, 4
2, Q2, 1
2, Q3, 3
3, Q1, 5
3, Q2, 2
3, Q3, 3

Hur gör jag detta lättast i SQL-server 2005?

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

## #2 — nitro2k01, 2009-07-06T13:52Z

Ett sätt är att trixa lite med unions. Visserligen blir kolumnnamnet hårdkodade i frågan, men de lär ju inte ändras stup i kvarten ändå. 

```
(SELECT id AS id, 'Q1' AS columnname, Q1 AS value FROM tabellnamn WHERE ...)
UNION ALL
(SELECT id AS id, 'Q2' AS columnname, Q2 AS value FROM tabellnamn WHERE ...)
UNION ALL
(SELECT id AS id, 'Q3' AS columnname, Q3 AS value FROM tabellnamn WHERE ...)
```

Edit, ändrade column till columnname för att undvika eventuella krockar med reserverade keywords.

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

## #3 — Vide, 2009-07-06T17:44Z

Tackar nitro2k01!

Hittade ett annat sätt också:

```
select ID, Column, Value from
(select ID, Q1, Q2, Q3 from p_Data) as t
unpivot (Value for Column in(Q1, Q2, Q3)) as unpvt
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/179278-vända-data
