---
title: "Ingen normal sortering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21751-ingen-normal-sortering"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "lolukokasos"
published: "2001-11-13T16:23:00.000Z"
updated: "2001-11-13T18:26:00.000Z"
replies: 5
views: 139
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/21751-ingen-normal-sortering"
---

# Ingen normal sortering

## #1 — lolukokasos, 2001-11-13T16:23Z

Hej!
Jag har en kolumn med filnamn, vad jag vet så kommer jag ha filer som; .gif, .jpg, .bmp, .doc och .edr.
Mitt problem är att en post i en relaterad tabell kan ha flera av dessa filnamn. Så, mitt problem är att i selekteringen alltid få .gif-filerna först.

Går detta? Det skulle vara skönt att slippa lägga till en kolumn som bara va till för att sköta det här.

/Lukas

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

## #2 — LarsG, 2001-11-13T16:41Z

Det går väl, den exakta syntaxen beror lite på vilken databas du använder

```
select tabell.*,case when upper(right(filename,3)) = 'GIF' then 0 else 1 end as orderCriteria from tabell order by orderCriteria,filename
```

Borde fungera i SQL server t.ex.

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

## #3 — lolukokasos, 2001-11-13T18:08Z

Tyvärr måste jag hålla mig till Access, där verkar inte denna kod funka. 
Är det nån som vet hur motsvarande i Access skulle se ut? Jag skickar med koden som jag försökt med. LarsG, du får en \* i kanten IGEN ;-).

/Lukas

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

## #4 — lolukokasos, 2001-11-13T18:09Z

Glömde koden....

```
SELECT DISTINCT *, case when upper(right(fil_Namn,3)) = 'GIF' then 0 else 1 end as orderCriteria
FROM Datablad LEFT JOIN Lankar ON [Datablad].[regId]=[Lankar].[reg_Id]
WHERE [niva] Between 10 And 40
ORDER BY [Datablad].[regId], orderCriteria;
```

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

## #5 — LarsG, 2001-11-13T18:21Z

```
SELECT *
FROM Datablad LEFT JOIN Lankar ON [Datablad].[regId]=[Lankar].[reg_Id]
WHERE [niva] Between 10 And 40
ORDER BY [Datablad].[regId], iif(ucase(right(fil_namn,3))='GIF',0,1)
```

Jag blir lite osäker på om Access stöder att man anger uttryck i order by. Om ovanstående inte går igenom så kan du testa detta

```
SELECT iif(ucase(right(fil_namn,3))='GIF',0,1),*
FROM Datablad LEFT JOIN Lankar ON [Datablad].[regId]=[Lankar].[reg_Id]
WHERE [niva] Between 10 And 40
ORDER BY [Datablad].[regId], 1
```

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

## #6 — lolukokasos, 2001-11-13T18:26Z

Båda verkar funka! Nu får du en ännu större stjärna i kanten :-D!

Man tackar!

/Lukas

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

---

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