j'ai 2 tables, que voici :
CREATE TABLE IF NOT EXISTS `closevent_events` (
`event_id` int(11) NOT NULL AUTO_INCREMENT,
`event_datetime` datetime NOT NULL,
`event_offer_start` datetime NOT NULL,
`event_offer_end` datetime NOT NULL,
`event_type_id` tinyint(4) NOT NULL,
`event_region_id` tinyint(4) NOT NULL,
`event_title` varchar(100) NOT NULL,
`event_introduction` varchar(50) NOT NULL,
`event_description` text NOT NULL,
`event_informations` text NOT NULL,
`event_address` varchar(100) NOT NULL,
`event_zipcode` varchar(10) NOT NULL,
`event_city` varchar(100) NOT NULL,
`event_partner_link` varchar(200) NOT NULL,
`event_status` tinyint(1) NOT NULL,
PRIMARY KEY (`event_id`),
KEY `event_type` (`event_type_id`),
KEY `event_region_id` (`event_region_id`),
KEY `event_status` (`event_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
--
-- Contenu de la table `closevent_events`
--
INSERT INTO `closevent_events` (`event_id`, `event_datetime`, `event_offer_start`, `event_offer_end`, `event_type_id`, `event_region_id`, `event_title`, `event_introduction`, `event_description`, `event_informations`, `event_address`, `event_zipcode`, `event_city`, `event_partner_link`, `event_status`) VALUES
(3, '2011-03-08 17:21:17', '2011-02-28 17:20:41', '2011-03-07 17:21:14', 2, 1, 'Lorem ipsum dolor sit amet', 'Lorem ipsum dolor sit amet, consectetur adipiscing', '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eget dolor neque. Vivamus sollicitudin leo mi, quis rutrum dui. Pellentesque in arcu turpis. Vivamus arcu ante, scelerisque mollis fringilla a, posuere eget nisl. Mauris leo enim, porttitor quis tristique sit amet, vulputate quis risus. Proin tristique, nisl eu mattis rhoncus, tellus massa consequat metus, nec imperdiet urna lacus fermentum massa. Maecenas vulputate ullamcorper magna, vel rhoncus augue condimentum sit amet. Praesent consectetur, nunc non aliquet consequat, enim dolor semper est, volutpat sagittis nulla justo cursus nisi. Donec erat tortor, dignissim at adipiscing eget, elementum eu nunc. Curabitur nisl erat, elementum dignissim molestie eget, semper sed felis. Nam vehicula quam nec dui iaculis sit amet gravida magna posuere. Suspendisse aliquet, velit at porta varius, orci dolor faucibus urna, interdum semper nulla metus ac mauris. In at libero vestibulum nulla eleifend pulvinar.</p>', '<p>Nunc egestas pellentesque felis in vestibulum. Aliquam erat volutpat. Nam ut semper tortor. Duis dui lacus, suscipit et pretium a, placerat at massa. Aliquam erat volutpat. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam vel odio turpis. Proin et sollicitudin arcu.</p>', '1 rue de Paris', '75001', 'Paris', '', 1),
(5, '2011-03-31 00:00:00', '2011-03-16 09:00:00', '2011-03-30 18:00:00', 6, 5, 'Praesent luctus', 'Praesent luctus, lacus sed faucibus commodo', '<p>Praesent luctus, lacus sed faucibus commodo, nulla nisi placerat quam, sit amet blandit tortor dui ultricies sem. Ut interdum sodales dolor nec convallis. Phasellus luctus tincidunt tortor, nec mattis ipsum laoreet vel. Integer facilisis aliquam nulla, non suscipit ligula accumsan vel. In hac habitasse platea dictumst. Sed rhoncus, purus eget placerat ultrices, nibh purus facilisis nunc, quis vulputate orci lorem in turpis. Etiam porttitor accumsan magna in pretium. Sed molestie felis in leo congue sit amet condimentum ipsum commodo. Nam adipiscing, tellus imperdiet sagittis tempus, lectus purus tristique augue, sit amet tristique purus eros sit amet ante. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus porta semper hendrerit. Aenean cursus consequat magna, placerat porttitor leo lobortis nec. Curabitur quis diam diam. Nullam consectetur eros justo, sit amet vestibulum enim. Morbi ut justo orci, eget tristique odio. Quisque vitae ligula vel purus dapibus accumsan vel auctor velit. Curabitur eu elit diam. Quisque vel velit at urna ultricies condimentum. Quisque lacinia, diam eu pulvinar gravida, elit augue consequat est, eget venenatis diam dui id elit. Morbi eget libero nulla, eu tincidunt dui.</p>', '<p>Integer lacinia placerat sapien, vitae lobortis augue porta eu. Nulla dui magna, volutpat quis mattis dictum, consectetur vitae lorem. Aenean sed dapibus risus. Sed viverra elementum imperdiet. Vivamus sed consequat tortor.</p>', '2 rue de Paris', '75002', 'Paris', '', 1);
-- --------------------------------------------------------
--
-- Structure de la table `closevent_events_medias`
--
CREATE TABLE IF NOT EXISTS `closevent_events_medias` (
`media_id` int(11) NOT NULL AUTO_INCREMENT,
`media_event_id` int(11) NOT NULL,
`media_datetime` datetime NOT NULL,
`media_type` enum('image','video') NOT NULL,
`media_file` varchar(200) NOT NULL,
`media_status` tinyint(1) NOT NULL,
PRIMARY KEY (`media_id`),
KEY `media_event_id` (`media_event_id`,`media_type`,`media_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
--
-- Contenu de la table `closevent_events_medias`
--
INSERT INTO `closevent_events_medias` (`media_id`, `media_event_id`, `media_datetime`, `media_type`, `media_file`, `media_status`) VALUES
(7, 3, '2011-03-03 16:45:18', 'image', 'event-3-fotolia_5857492.jpg', 1),
(8, 3, '2011-03-03 16:45:19', 'image', 'event-3-fotolia_4582794.jpg', 1),
(9, 3, '2011-03-03 16:45:19', 'video', 'event-3-sample_mpeg4.mp4', 1),
(11, 5, '2011-03-03 17:25:31', 'image', 'event-5-fotolia_5857492.jpg', 1);
J'aimerai faire une requête qui va récupérer les événements, ainsi que leur dernière photo. Je pourrai faire ça en 2 fois, récupérer les évenements, boucler, et récupérer la dernière photo, mais je préfererai faire cela en une seule requête.Voici ma requête actuelle, mais je suis un peu bloqué :
SELECT EVENTS.*, TYPES.type_name, REGIONS.region_name, MEDIAS.media_type, MEDIAS.media_file FROM closevent_events_types TYPES, closevent_regions REGIONS, closevent_events EVENTS LEFT JOIN closevent_events_medias MEDIAS ON media_event_id = event_id AND media_type = 'image' WHERE event_offer_start <= NOW() AND event_offer_end >= NOW() AND event_status = 1 GROUP BY event_id ORDER BY event_datetime ASC
Actuellement le récupère bien une photo, mais il s'agit de celle avec le plus petit media_id. Que dois-je rajouter pour récupérer la dernière photo (c'est à dire celle avec le media_id le plus élévé) ?