Dit is de tabel.

EXAMEN
ex_id
ex_type
ex_datum
ex_plaats

ex_type kan twee verschillende waarden hebben, 1 of 2 (theorie of praktijk). Nu wil ik graag de maximale datum van examens van type 1 en de maximale datum van examens van type 2. Is dat mogelijk (in één query)?

SELECT MAX(ex_datum) AS theorie,MAX(ex_datum) AS praktijk
FROM examen
GROUP BY ex_id

Enig idee hoe ik deze query kan aanpassen, zodat ik de gewenste waardes krijg?
SELECT MAX(ex_datum) FROM examen WHERE ex_type = '1';
SELECT MAX(ex_datum) FROM examen WHERE ex_type = '2';

Niet gaan lopen kloten, gewoon 2 queries gebruiken..

[edit]
Dus gewoon KISS
[/edit]
SELECT
    ex_id,
    ex_type,
    ex_datum,
    ex_plaats
FROM
    examen
GROUP BY
    ex_type
ORDER BY
    ex_datum
Iets in die richting? ( Het kan ook zijn dat ORDER BY en GROUP BY andersom moeten maar dat weet ik nooit. )
Andries Louw W. schreef op 31.05.2007 01:07
SELECT MAX(ex_datum) FROM examen WHERE ex_type = '1';
SELECT MAX(ex_datum) FROM examen WHERE ex_type = '2';

Niet gaan lopen kloten, gewoon 2 queries gebruiken..

[edit]
Dus gewoon KISS
[/edit]


Ok, maar ik wil het in een overzicht hebben en erop kunnen sorteren. Het gaat eigenlijk om twee tabellen.

INSCHRIJVINGEN
ins_id
ins_naam

EXAMEN
ex_id
ins_id
ex_type
ex_datum
ex_plaats

Aan deze query moet nog wat aangepast worden:
SELECT i.*,MAX(x.ex_datum) AS theorie,MAX(x.ex_datum) AS praktijk
FROM inschrijving AS i
LEFT JOIN examen AS x ON i.ins_id=x.ins_id
GROUP BY i.ins_id

Dus ik wil per inschrijving laten zien, wanneer de laatste examendatum is en dat apart voor theorie en praktijk. Dat moet toch mogelijk zijn met alleen MySQL..?

Reageren