---
title: "Sortering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/22569-sortering"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "kerouac"
published: "2001-10-22T20:50:00.000Z"
updated: "2001-10-27T13:22:00.000Z"
replies: 9
views: 318
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/22569-sortering"
---

# Sortering

## #1 — kerouac, 2001-10-22T20:50Z

Jag har en Access-databas med ca 200 poster i. Databasen indexeras med hjälp av ett ID. Varje objekt har ett idnummer som ser ut så t.ex. så här : Ö-232, H-23, T-211. Ett problem jag har är att posternas sorteras på ett sätt som jag inte tycker om. Eftersom det är en bokstav först sorteras de efter bokstaven och därefter med den första siffran i ID. Då kan sortering bli såhär: Ö-211, Ö-22, Ö-222. Jag skulle vilja att det blev såhär istället : Ö-22, Ö-211, Ö-222 dvs sortering efter enbart siffrorna. Kan man greja det?

// Niclas

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

## #2 — LarsG, 2001-10-22T21:01Z

```

select left(id,2),clng(mid(id,3)),*
  from t
 order by 1,2
```

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

## #3 — kerouac, 2001-10-23T15:13Z

Vart gör jag detta? 

// Niclas

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

## #4 — LarsG, 2001-10-23T21:55Z

Det finns ett fönster där man kan ställa direkt sql-frågor.

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

## #5 — Lasp, 2001-10-24T06:44Z

Du har ju fått den sortering du har  begärt när du satte fältet till Text.
Du kan splittra fältet i två
En textdel med bokstaven och med tal för siffrorna
skapa ett index på de två fälten.
Eller gör som LarsG säger i sql strängen

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

## #6 — kerouac, 2001-10-24T11:11Z

Jag sjrev in det här i SQL-rutan:

SELECT left(StugID,2), clng(mid(StugID,3)), \*
FROM tblStuginfo_1
ORDER BY 1, 2;

Tyvärr så sa Access att det blev ett "Data type mismatch in criteria expression".

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

## #7 — LarsG, 2001-10-24T12:26Z

Ser alla stugid likadana ut? Dvs är det alltid två tecken + siffror?

kan du testa den här frågan

```
select clng(mid(stugid,3)) from tblStuginfo_1
```

annars är det ett alternativ som Lennart säger att dela upp det i två kolumner

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

## #8 — kerouac, 2001-10-27T08:43Z

Problemet är att alla ID inte ser likadana ut. I de flesta fall är det bokstav-siffror men ibland kan det även vara t.ex. Ö-210M . Det kluriga är att ta ut alla siffor ur ID. Man löser alltså inte problemet genom att dela upp i två kolumner. Tror ni att det går att lösa eller får man skippa sorteringen?

//Niclas

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

## #9 — LarsG, 2001-10-27T08:59Z

Jo det går, men i så fall måste du dubbellagra data. Du får behålla nuvarande stugid och sedan lagra inledande bokstäver för sig och siffran för sig. 

Det skulle gå om man kan skriva egna funktioner i Access som man kan anropa från select-satsen, jag vet inte vilket stöd som finns i Access för sådant.

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

## #10 — Herman, 2001-10-27T13:22Z

Sådant stöd finns. Men det går inte att använda funktionerna utanför Access, vi a t.ex. via ODBC/OLE DB.

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

---

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