43 lines
830 B
SQL
43 lines
830 B
SQL
CREATE OR REPLACE VIEW optimized_scheduled_episodes AS
|
|
SELECT
|
|
se.show_id,
|
|
se.season_number,
|
|
se.episode_number,
|
|
se.status,
|
|
se.air_date,
|
|
(
|
|
SELECT
|
|
CONCAT('S', se2.season_number, 'E', se2.episode_number)
|
|
FROM
|
|
scheduled_episodes se2
|
|
WHERE
|
|
se2.show_id = se.show_id
|
|
AND se2.status IN ('upcoming', 'aired')
|
|
ORDER BY
|
|
se2.air_date ASC
|
|
LIMIT
|
|
1
|
|
) AS next_scheduled_episode,
|
|
(
|
|
SELECT
|
|
se2.air_date
|
|
FROM
|
|
scheduled_episodes se2
|
|
WHERE
|
|
se2.show_id = se.show_id
|
|
AND se2.status IN ('upcoming', 'aired')
|
|
ORDER BY
|
|
se2.air_date ASC
|
|
LIMIT
|
|
1
|
|
) AS next_air_date
|
|
FROM
|
|
scheduled_episodes se
|
|
WHERE
|
|
se.status IN ('upcoming', 'aired')
|
|
GROUP BY
|
|
se.show_id,
|
|
se.season_number,
|
|
se.episode_number,
|
|
se.status,
|
|
se.air_date;
|