I have 3 MySQL tables and I want to join them together.
course:
CREATE TABLE `library_classes` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3; INSERT INTO `library_classes` (`id`, `name`) VALUES (1, 'Tolkien'), (2, 'CS Lewis');
Session:
CREATE TABLE `library_sessions` ( `id` int NOT NULL AUTO_INCREMENT, `class_id` int NOT NULL, `session_timestamp` timestamp NOT NULL, PRIMARY KEY (`id`), KEY `class_id` (`class_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3; INSERT INTO `library_sessions` (`id`, `class_id`, `session_timestamp`) VALUES (1, 1, '2023-08-01 15:30:00'), (2, 2, '2023-08-02 10:15:00'), (3, 1, '2023-08-04 09:30:00');
Booking:
CREATE TABLE `library_bookings` ( `id` int NOT NULL AUTO_INCREMENT, `session_id` int NOT NULL, `email` varchar(255) NOT NULL, `datetime_submitted` timestamp NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3; INSERT INTO `library_bookings` (`id`, `session_id`, `email`) VALUES (1, 1, 'jose@gmail.com'), (2, 2, 'jane@yahoo.com'), (3, 2, 'john@hotmail.com');
When jose@gmail.com
logs in, I want my page to look like this:
Tolkien | 2023-08-01 15:30:00 | CANCEL CS Lewis | 2023-08-02 10:15:00 | BOOK NOW Tolkien | 2023-08-04 09:30:00 | BOOK NOW
I will import your data into SQLFIDDLE;
The following query will give you the expected results.
The expected output it gives is: