webForumDet fria alternativet

Vilken rad man hittar ett värde?

Databaser & SQL

1 svar · 263 visningar · startad av Kristianstad

Medlem sedan dec. 2002841 inlägg
Frågan#1

Hejsan!

SELECT datum, namn FROM tabell WHERE ID = 5 ORDER BY datum

Detta kan resultera i exempelvis:
2005-01-01 | Kalle (1)
2005-01-02 | Anders (2)
2005-01-05 | Lars (3)
2005-02-01 | Kristoffer (4)

Jag vill veta i vilken rad man hittar Anders. Alltså att jag genom SQL i detta fall ska få värdet 2!

Man skulle ju kunna göra detta genom ASP där man helt enkelt kör frågan och sedan loopar fram till man hittar "Anders". Problemet är att jag vill göra allt i SQL.

Har någon ett förslag?

Medlem sedan dec. 19996 721 inlägg
#2

Du får helt enkelt mata in radnummer i en kolumn i tabellen. Access och SQL har inget begrepp om radnummer i övrigt och man kan inte garantera att raderna kommer ut i samma ordning varje gång, så länge man inte använder ORDER BY.

I SQL Server och liknande hade du kunna stoppa in raderna i en temptabell, med en räknarkolumn, men det är inte heller särskilt snyggt.

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)