HEJ!
Kan man sortera poster i den ordning som värdena skrivs, tex 2, 4 och 1 sist?
SELECT * FROM tbl WHERE id IN(2,4,1)
Databasen är Access i detta fall, men det är intressant för övriga också.
8 svar · 638 visningar · startad av J.N.
HEJ!
Kan man sortera poster i den ordning som värdena skrivs, tex 2, 4 och 1 sist?
SELECT * FROM tbl WHERE id IN(2,4,1)
Databasen är Access i detta fall, men det är intressant för övriga också.
SELECT * FROM tbl ORDER by instr(',2,4,1,',',' + cstr(id) + ',')
J.N., svårt att hitta till SQL-forumet idag? :)
HEJ!
Nja, jag letade efter Access-forumet, fast det hette väl Databashantering tidigare. När det inte fanns, slogs väl ihop med något, lade jag den här, eftersom "2 databaser"-tråden fanns här.
När jag tittar på SQL-forumet ser jag att jag tom läste ett inlägg där innan jag skrev min fråga. :r
Flytta gärna alltså!
Tillbaka till frågan, det fungerar perfekt, men det ger ju alla poster, även om de börjar med 1,4,2, men sedan fortsätter det med 3,5,6,7 osv.
Hur får man stopp på det?
SELECT * FROM tbl WHERE id IN (2,4,1) ORDER by instr(',2,4,1,',',' + cstr(id) + ',')
HEJ!
Det fungerade alldeles perfekt!
Vad gör InStr, jämför den id i de som ska hämtas med de som står i IN?
Flyttas från ASP
Det här var precis vad jag letade efter, men jag får det inte riktigt att fungera. Hänger inte med på vad alla komman '-tecken betyder, men men...
Finns någon bra sida med lite mer info om detta?
Jag vill att postera ska sorteras beroende på vad som står i en speciell kolumn, finns tre olika alternativ (text-strängar).
Svarar på min egen fråga...
Fick som sagt inte det som stod att fungera, jag letade upp en annan grej som som jag inte heller fick att fungera. Då noterade att jag "råkat" göra en annan sak som ställde till allting. Kör med nedanstående metod för att sortera hur man vill :)
SELECT * FROM tbl_players WHERE position IN ('Målvakt', 'Back', 'Forward') ORDER BY FIELD(position, 'Målvakt', 'Back', 'Forward')