Heb een tabel die er als volgt uit ziet:


Ik wil een query uitvoeren die de gebruikers ophaalt met hun value, die status 1 hebben, maar dan wel hun laatst bestaande value.

De volgende query heb ik, maar nu zoekt hij de laatste datum, en daarbij de gebruikers die die datum hebben en met status 1. (ps. status van bovenstaande tabel komt uit andere tabel, maar even voor gemak bij gezet.

SELECT r.`matchdate`, r.`value` as `value`, r.`user`, u.`status`, u.`id`, u.`name`
FROM `userrating` r, `users` u
WHERE r.`user` = u.`id`
AND u.`status` = '1'
AND matchdate= (SELECT MAX(matchdate) FROM userrating)
GROUP BY r.`user`

Hoe krijg ik dus alle gebruikers die status 1 hebben, en vervolgens met hun laatst "behaalde" value.
Frank, een self join is als de tabellen die gejoined worden dezelfde tabel is.

Reageren