webForumDet fria alternativet

ORDER BY två fält fungerar ej.

Databaser & SQL

4 svar · 277 visningar · startad av Yoda

Medlem sedan nov. 2002291 inlägg
Frågan#1

Jag har en tabell som ser ut så här:
Agenda:
id
day
time
text
teacher_id

Jag ska plocka ut day, time och text och sortera efter day och time. I day så ligger det bara 1 eller 2. I time ligger det tex: 09.00-11.30.

Just nu ser min sql-sats ut så här:

SELECT Agenda.id, Agenda.day, Agenda.time, Agenda.text
FROM Agenda
ORDER BY day
AND time;

Då får jag ut det nästan rätt fast helt fel håll (fallande). Jag får så här:
2 12.30-13.00
2 11.30-12.30
2 09.00-11.30
1 18.30
1 17.00-18.00
1 15.15-17.00
osv. Jag vill ju ha helt tvärt om.

Så skriver jag in DESC och ASC på alla möjliga olika ställen men ingenting händer. Varför lyssnar inte databasen på hur jag vill sortera? Jag använder mig av Microsoft Access, kanske inte den förstår DESC och ASC? Jag har även testat med att ta bort AND och bara ha komma (,) emellan fältnamnen men det blir inte rätt då heller.

Någon som har något tips?

Medlem sedan juni 200032 967 inlägg
#2

Jo, Access förstår såklart ASC och DESC. Dock måste syntaxen vara riktig.

... ORDER BY day, time

Du har i alla fall lyckats att använda en hel drös reserverade ord som fältnamn. Day är reserverat av ODBC och, Time och Text är reserverade av Access. Byt namn på fälten.

Medlem sedan nov. 2002291 inlägg
#3

Aha, okej...reserverade ord...suck. Finns det någon stans man kan läsa vilka ord som är reserverade för sql?

Jag fick det till att fungera efter att ha ändrat så här:

SELECT *
FROM Agenda
ORDER BY agendaDay, agendaTime

Tack för hjälpen!

Medlem sedan juni 200032 967 inlägg
Medlem sedan nov. 2002291 inlägg
#5

Perfekt!

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