У меня есть следующая схема базы данных. Таблицы VHS и DVD оба наследуются от Suport_Media, и оба содержат один фильм (фильм, переведенный по-английски, означает фильм). Я хочу создать представление, которое содержит информацию обо всех доступных Suport_Media с фильмами, которые они содержат. Для этого мне нужно объединить таблицы suport_media, dvd, vhs и film в один стол с внутренними соединениями. Проблема в том, что я не могу понять, как объединить VHS и DVD в один стол, а затем присоединиться к нему с Suport_Media и Film.Mysql Inner Объединить таблицы, наследующие одну и ту же таблицу
Я попытался следующий код:
CREATE
VIEW Informatii_Suport_Media AS
SELECT Titlu, Actori_Principali, Tip, Durata_Film, Data_Lansare, Pret
FROM VHS V
INNER JOIN DVD D ON V.Suport_Media_ID <> D.Suport_Media_ID
INNER JOIN DVD D1 ON Suport_Media.Suport_Media_ID = D.Suport_Media_ID
INNER JOIN Film F ON F.Film_ID = D1.Film_ID
GROUP BY V.Suport_Media_ID
ORDER BY V.Suport_Media_ID ASC;
Схема расположена по адресу: https://imageshack.com/i/hl0DNwc1p
Там нет 'Support_Media' таблицы в вашем присоединиться, вы не можете использовать' Support_Media.Support_Media_ID'. – Barmar
Должно ли 'DVD D1' присоединиться к' Support_Media'? – Barmar
Я не совсем понимаю, что вам нужно, но я подозреваю, что вам нужен 'UNION', чтобы объединить таблицы' DVD' и 'VHS', а не' JOIN'. – Barmar