webForumDet fria alternativet

ORDER BY två fält fungerar ej.

4 svar · 275 visningar · startad av Yoda

YodaMedlem sedan nov. 2002291 inlägg
#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?

@ndersMedlem sedan juni 200032 969 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.

YodaMedlem 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!

@ndersMedlem sedan juni 200032 969 inlägg
YodaMedlem sedan nov. 2002291 inlägg
#5

Perfekt!

132 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)