SQL запрос (связь таблиц) - MySQL
Формулировка задачи:
Здравствуйте
, не могу сообразить, как составить запрос. Есть 2 таблицы:
Листинг программы
- CREATE TABLE `users` (
- `user_id` INT(11) NOT NULL AUTO_INCREMENT,
- `user_name` VARCHAR(45) NOT NULL,
- PRIMARY KEY (`user_id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
- CREATE TABLE `events` (
- `event_id` INT(11) NOT NULL AUTO_INCREMENT,
- `event_name` VARCHAR(45) NOT NULL,
- `user_id` INT(11) DEFAULT NULL,
- PRIMARY KEY (`event_id`),
- KEY `fk_events_1_idx` (`user_id`),
- CONSTRAINT `fk_events_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
- ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1
Листинг программы
- SELECT * FROM test.users
- LEFT JOIN `events` ON events.user_id=users.user_id
Буду благодарен за любую подсказку.
Решение задачи: «SQL запрос (связь таблиц)»
textual
Листинг программы
- SELECT u.user_id, u.user_name, ee.event_name, ee.event_id FROM
- (
- SELECT MAX(event_id) AS id, user_id, event_name
- FROM events
- GROUP BY user_id
- ) AS e
- INNER JOIN users u ON e.user_id = u.user_id
- INNER JOIN `events` ee ON ee.event_id = e.id
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д