webForumDet fria alternativet
Logga in / Bli medlem

Sortera från databas med ett undantag

ASP

6 svar · 179 visningar · startad av emil

Medlem sedan apr. 2000106 inlägg
Trådstart#1

Halloj!

Har en databas med ett antal personer som jag vill lista i ordning efter ID nummer alltså Order by ID.

Dock vill jag att person med ID 5 skall listas först av alla.

Går det att fixa det i SQL satsen?

Kör ASP med Microsoft Access.

Mvh Emil

Medlem sedan dec. 200012 464 inlägg
#2
select * from ogrish
order by iif(id=5,0,id)
Medlem sedan juni 200032 967 inlägg
#3

LarsG, inte går det att göra motsvarande med sql server?

Medlem sedan dec. 200012 464 inlägg
#4

Nej,iif är specifikt för Access.

I SQL server borde man kunna använda case


select * from ogrish order by 
case when id = 5 then 0 else id end

Case är standard.

Medlem sedan apr. 2000106 inlägg
#5

Hemskt ledsen men får det inte till att fungera :(

Såhär ser min rad ut:
SQLStmt = "Select * from tblAnställd WHERE avdelning = 'fordon' order by anstid iif(anstID=104,0,anstID) ASC".

Den väljer inte ut nånting alls där blir helt tomt, ser du nåt fel?

Stort tack att du försöker hjälpa mig =)

Mvh Emil

Medlem sedan dec. 200012 464 inlägg
#6

Du kan inte ha med anstid i order by utan det räcker med iif...

SQLStmt = "Select * from tblAnställd WHERE avdelning = 'fordon' order by iif(anstID=104,0,anstID) ASC"

Om du inte får till det med ovanstående kan du försöka med

SQLStmt = "Select iif(id=104,0,id), tblAnställd.* from tblAnställd WHERE avdelning = 'fordon' order by 1 ASC"
Medlem sedan apr. 2000106 inlägg
#7

Wow! Tackar så jäkla mycket för hjälpen!
Man blir så glad när folk ställer upp och hjälper till! =)

Ha en bra dag =)

// En jätteglad emil =)

261 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)