webForumDet fria alternativet

Egen sorteringsordning?

ASP

5 svar · 295 visningar · startad av Havregryn

Medlem sedan juni 200288 inlägg
Frågan#1

Hej!
Jag skulle vilja sortera efter vad som finns i ett visst fält. Som exempel: Fältet position innehåller målvakt, back, mittfältare, och annfallare. Om jag väljer att sortera efter position så sorteras de ju antingen fallade eller stigande. Men jag skulle vilja sortera efter först, målvakt, sen back, mittfältare och anfallare.
Hur göra? :q

Medlem sedan juli 200012 978 inlägg
#2

Skapa ett fält med värden efter som du vill ha det.
När du skriver in Back så sätts en (2) in i sorteringsfältet

Medlem sedan juni 200288 inlägg
#3

Det finns alltså inget smidgare sätt än att behöva ändra i databasen?

Medlem sedan juni 200032 967 inlägg
#4

Du kan specificera det i SQL-frågan.
Det vore bra att alltid ange vilken dbms man använder, så vet vi vad vi har att utgå ifrån.

Medlem sedan dec. 20003 887 inlägg
#5

Nej, eftersom det sorteras i bokstavsordning. Så som Lasp säger behöver du ändra i databasen. Ändra i fältet position och gör det numeriskt, där du t.ex. kan ha följande värden.

1 = Målvakt
2 = Back
3 = Mittfältare
4 = Anfallare
5 = Övrigt

Nu såg jag att herr Snabel hade invändningar mot detta och då är det enda jag kan komma på är en UNION-lösning...

SELECT *
FROM tabell
WHERE position = 'Målvakt'
ORDER BY namn
UNION
SELECT *
FROM tabell
WHERE position = 'Back'
ORDER BY namn
UNION
SELECT *
FROM tabell
WHERE position = 'Mittfältare'
ORDER BY namn
Medlem sedan juni 200032 967 inlägg
#6

Jag har egentligen inga invändningar mot ändring i tabellen, det var frågeställaren som hade det. ;)

Vill man kan man alltid titta i SQL-forumet för att finna tidigare lösningar på samma uppgift. ;)

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)