(22-12-2008, 01:52 PM)Sephi-Chan a écrit : Je me rends compte qu'il manque encore quelque chose à la requête. Il faut (si possible) que le script renvoie autant de lignes qu'il y a de type de vote. Donc, je dois grouper par vote_type.id, mais le problème c'est qu'en faisant ça, ce n'est pas le dernier vote attribué qui est récupéré.
Si je comprend bien , plus jeune ligne de vote pour chaque type de vote, alors tu dois t'en sortir avec des max() et un group sur le type de vote.
SELECT `vote_type`.*,
UNIX_TIMESTAMP(max(vote_date)) AS `vote_date`,
UNIX_TIMESTAMP(DATE_ADD(max(vote_date), INTERVAL life_time DAY)) AS `next`,
IF(NOW() < DATE_ADD(max(vote_date), INTERVAL life_time DAY), 0, 1 ) AS `usable`
FROM `vote_types` AS `vote_type`
LEFT JOIN `votes` AS `vote` ON `vote`.`vote_type_id` = `vote_type`.`id` AND `vote`.`character_id` = 1
group by `vote`.`vote_type_id`