hoogste waarde per persoon selecteren?

Status
Niet open voor verdere reacties.

shidan

Gebruiker
Lid geworden
8 jan 2007
Berichten
354
goedemiddag,

ik heb een tabel met personen, examens en datums
nu zou ik elke persoon willen zien met de datum waarop het laatste examen doorging
(dus enkel de laatste datum, niets meer)
momenteel heb ik deze query, maar het resultaat is niet wat ik wens

Code:
select distinct
   tbl_personen.naam
   ,tbl_personen.voornaam
   ,tbl_examens.graad
   ,tbl_examsn.examendatum
FROM tbl_personen INNER JOIN tbl_examens ON tbl_personen.persoon_id = tbl_examens.persoon_id
WHERE ((tbl_examens.examendatum) In (select top 1 examendatum from [tbl_examens])
ORDER BY tbl_personen.naam, tbl_personen.voornaam;
 
Zonder db wordt het lastig, maar ik zie wel waar je de fout in gaat; in je subquery haal je namelijk maar 1 datum op voor het filter, en dat is dan gelijk het eindresultaat van je query. Dat zal inderdaad niet zijn wat je zoekt. Probeer dit eens:
Code:
SELECT DISTINCT tbl_personen.naam, tbl_personen.voornaam, tbl_examens.graad,tbl_examsn.examendatum
FROM tbl_personen INNER JOIN tbl_examens ON tbl_personen.persoon_id = tbl_examens.persoon_id
WHERE ((tbl_examens.examendatum) In 
	(SELECT TOP 1 examendatum FROM [tbl_examens] AS Dupe 
	WHERE Dupe.persoon_id = tbl_examens.persoon_id ORDER BY Dupe.examendatum DESC)
ORDER BY tbl_personen.naam, tbl_personen.voornaam;
 
goedemorgen,

dit lukt niet echt.
ik probeer het maar krijg meer dan enkel de hoogste graad.

bijgevoegd een voorbeeld van de database
ik wil dus enkel de hoogste graad zien per lid
(dit is ook de laatste examendatum per lid)

Bekijk bijlage examens.zip
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan