---
title: "Halvknepig sortering..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/150685-halvknepig-sortering"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Travoni"
published: "2006-08-29T10:39:27.000Z"
updated: "2006-08-29T19:14:41.000Z"
replies: 5
views: 400
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/150685-halvknepig-sortering"
---

# Halvknepig sortering...

## #1 — Travoni, 2006-08-29T10:39Z

Tabell: Bilar

id : relid : namn
1 : 0 : Coupé
2 : 0 : Kombi
3 : 0 : Lastbil
4 : 0 : Van
5 : 1 : Volvo s80
6 : 2 : Volvo 745
7 : 4 : Dodge Ram
8 : 3 : LT 31
9 : 2 : Volvo 945 GLT
10 : 1 : Saab 9000i

Nu skulle jag vilja sortera dem så här:

Coupé
Saab 9000i
Volvo s80

Kombi
Volvo 745
Volvo 945 GLT

Lastbil
LT 32

Van
Dodge Ram
Alltså, först "kategori" sedan modellen i bokstavsordning.
Hur gör jag det?

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

## #2 — Engine^, 2006-08-29T11:24Z

Du borde börja med att dela upp tabellen i två tabeller. En för fordon och en för fordonstyp.

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

## #3 — @nders, 2006-08-29T11:28Z

Jag håller med Engine^ i sak, men det går ju att lösa genom att joina tabellen med sig själv.

```
SELECT T2.Namn AS Kategorinamn, T1.Namn as Bilnamn [...] FROM Bilar T1 
INNER JOIN Bilar T2 ON T1.relid = T2.id 
ORDER BY T2.Namn, T1.Namn
```

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

## #4 — LarsG, 2006-08-29T11:33Z

Den joinen innebär att du inte får med de som har relid 0. Det behövs ingen join heller

```
select <kolumner>
   from bilar
order by case when relid = 0 then id else relid end, id
```

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

## #5 — @nders, 2006-08-29T11:45Z

> Den joinen innebär att du inte får med de som har relid 0. Det behövs ingen join heller

Jag kanske missuppfattade frågan? Om vi inte har en join, då får vi ju inte ut kategorinamnen? Och 0:orna har vi väl med som T2.Namn i de bilar som ~~har 0 som parent~~ har någon post med relid 0 som parent?

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

## #6 — Travoni, 2006-08-29T19:14Z

LarsGs variant sorterade bara efter id:t.

Kan tillägga att min databas är en mySql 5.0

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/150685-halvknepig-sortering
