Toon posts:

[mysql] Scores koppelen aan punten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Situatie-schets:

Ik heb een drietal tabellen.
Een tabel bevat de gegevens van de deelnemers (id , naam , geslacht , geboortejaar):
1 , Arie van Dijk , man , 1990
2 , Jan Janssen , man , 1991
3, Lieve Meisje , vrouw , 1994
..

En een tabel met id's en scores (id , score):
1 , 1211
1 , 1423
1, 898
2 , 7839
...

En een tabel waar aan scores een aantal punten wordt toegekend (leeftijd, geslacht, benedengrens, punten):
15, man, 1400, 12
15, man, 1500, 15
15, man, 1600, 17
...

Geloof het of niet, maar een en ander heb ik al wat vereenvoudigd. Nu wil ik voor elk lid uit de leden-tabel voor zijn/haar maximale score het aantal punten weten. Dus in geval van bovenstaand voorbeeld:
1 , Arie van Dijk , 1423 , 12

Wie kan/wil me aan de bijbehorende MySQL-query helpen??

Verwijderd

Wat heb je zelf al geprobeerd? Volgens mij is dit niet zo heeeeeeeel erg moeilijk... Ik zal je een opzetje geven:

code:
1
SELECT id, name, MAX(score) FROM table1 INNER JOIN table 2 ON id

Volgens mij heb je nu de rij met de hoogste score, er moet nog wel een GROUP_BY bij zie ik net.

[ Voor 61% gewijzigd door Verwijderd op 28-10-2005 12:00 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Verwijderd schreef op vrijdag 28 oktober 2005 @ 11:56:
Wat heb je zelf al geprobeerd? Volgens mij is dit niet zo heeeeeeeel erg moeilijk....
Het moelijke zit hem (voor mij althans) in de laatste koppeling: hoe koppel ik de maximale score met de bijbehorende punten?

Verwijderd

Iets met IF BETWEEN oid, maar er wordt verwacht dat je zelf ook iets uitzoekt... Ik heb geen zin om een query voor je te maken als je zelf niets hebt uitgezocht.

Verwijderd

Topicstarter
Dank je wel, ga hier nog even mee zoeken en proberen..
maar er wordt verwacht dat je zelf ook iets uitzoekt... Ik heb geen zin om een query voor je te maken als je zelf niets hebt uitgezocht.
Dat ik mijn probeersels niet heb toegevoegd heeft te maken met het feit dat de kans bestaat dat daar op wordt voortgeborduurd en blindgestaard, terwijl er een andere veel makkelijkere oplossing is...
Momenteel heb ik het zo opgelost dat ik van de 'punten'-tabel een array heb gemaakt waarna ik door een while-loopje de hoogste scores aan de bijbehorende punten koppel. Mooier zou het natuurlijk zijn wanneer de punten direct uit de database zouden rollen...

Verwijderd

Oke, maar het was wel handig om dat in je startpost erbij te vermelden, nu lijkt het meer op een script request :) Je moet idd iets hebben met BETWEEN, maar dat zou je zelf even moeten uitzoeken. Het moet inderdaad wel kunnen zonder tijdelijke array en in 1 query.
Pagina: 1