login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Probleem met lager gelegen getal kiezen

Offline Aar - 11/05/2011 18:00
Avatar van AarPHP interesse Ik heb als query:
  1. SELECT routenaam, MAX(routenummer) AS nummer FROM routes WHERE routenummer <=538


En in de database staat:
  1. routenummer | routenaam
  2. ------------+-------------
  3. 100 | Amsterdam - Basel
  4. etc.... | Etc....
  5. 500 | Den Haag - Groningen
  6. 700 | Schiphol - Groningen
  7. etc... | etc...


Hij toont wel netjes het getal 500, maar als route kiest hij merkwaardig genoeg wel voor Amsterdam Basel, terwijl het Den Haag - Groningen moet zijn...

Hoe kan dit?

Hoe komt dat?

4 antwoorden

Gesponsorde links
Offline Sam - 11/05/2011 18:42
Avatar van Sam PHP expert
  1. SELECT routenaam, routenummer AS nummer FROM routes routenummer <=538 ORDER BY routenummer DESC LIMIT 1


Als je toch de MAX functie wilt gebruiken moet je met subqueries werken.

In jouw query is het resultaat de routenaam van elke route en het hoogste routenummer kleiner dan 538. Je resultatenset bevat wss ook alle rijen van je tabel in plaats van 1 rij zoals je zou verwachten?
Bedankt door: valles10
Offline valles10 - 11/05/2011 22:33
Avatar van valles10 HTML interesse Aar, je moet je result is in een while zetten, dan zie je wat er gebeurd ;)
Offline Aar - 12/05/2011 00:06 (laatste wijziging 12/05/2011 00:07)
Avatar van Aar PHP interesse
valles10 schreef:
Aar, je moet je result is in een while zetten, dan zie je wat er gebeurd ;)

Ja, dan gebeurt er iets wat ik NIET wil....

lees anders de thread nog eens...

De subquery was de juiste truuk....
  1. SELECT aa.routenaam
  2. , mm.nummer
  3. FROM routes aa
  4. , (SELECT MAX(routenummer) AS nummer
  5. FROM routes
  6. WHERE routenummer <=538) mm
  7. WHERE aa.routenummer = mm.nummer
Offline Joost - 12/05/2011 20:20 (laatste wijziging 12/05/2011 20:22)
Avatar van Joost PHP expert Wat valles10 - geloof ik - bedoelde is dat de fout in je query direct duidelijk zou zijn wanneer je je resultset eens zou uitlezen met een while loop 
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.209s