Det lättaste, tycker jag, borde vara att göra såhär:
strSQL = "SELECT TOP 1 id FROM tabell WHERE id > 5 ORDER BY id ASC"
för närmsta över respektive
strSQL = "SELECT TOP 1 id FROM tabell WHERE id < 5 ORDER BY id DESC"
för närmsta under.
10 svar · 738 visningar · startad av pirajan
Hej!
Hur gör jag för att hämta ut nästa id i en tabell.
Jag vill alltså ha ut nästa resp. föregående id (eller post) beroende på vad man får för id i en variabel.
Om vi säger att jag vill ha ut nästa id från id´t 5. Om nu posten med id 6 är raderad blir det hela fel... Om nu id 7 finns så vill jag plocka ut den posten...
Vilket sätt är smidigast att ta till?
Gärna små exempel...
Det lättaste, tycker jag, borde vara att göra såhär:
strSQL = "SELECT TOP 1 id FROM tabell WHERE id > 5 ORDER BY id ASC"
för närmsta över respektive
strSQL = "SELECT TOP 1 id FROM tabell WHERE id < 5 ORDER BY id DESC"
för närmsta under.
Tack! Trodde det var mycket mer komplicerat... Ska kolla om det funkar... Kör MySQL förresten... Borde gå där med va!?
För MySQL blir det någonting sånt här har jag för mig. :)
strSQL = "SELECT id FROM tabell WHERE id > 5 ORDER BY id ASC LIMIT 1"
strSQL = "SELECT id FROM tabell WHERE id < 5 ORDER BY id DESC LIMIT 1"
Jo jag fattade LIMIT...
Nån som har svaret då?
Kan man göra detta med SQL över huvud taget? Annars borde tråden kanske inte flyttas? Vad vet jag?
Har du testat med
Sebbe skrev:
strSQL = "SELECT id FROM tabell WHERE id > 5 ORDER BY id ASC LIMIT 1" strSQL = "SELECT id FROM tabell WHERE id < 5 ORDER BY id DESC LIMIT 1"
? *Gör uppror mot LarsG* §jr
Det verkar visst fungera...
Mitt svar gällde ditt första inlägg om top.
Okej... Tack för svaren iaf!