login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

Probleem met lager gelegen getal kiezen

Aar – 11/05/2011 18:00
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

Sam – 11/05/2011 18:42
  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?

valles10 – 11/05/2011 22:33
Aar, je moet je result is in een while zetten, dan zie je wat er gebeurd ;)

Aar – 12/05/2011 00:06 (Laatst gewijzigd op 12/05/2011 00:07)
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


Joost – 12/05/2011 20:20 (Laatst gewijzigd op 12/05/2011 20:22)
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-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.101s