创建包含多个表和连接表的视图时遇到问题。
这就是我目前的处境:
CREATE VIEW music_view AS
SELECT recordings.rec_title,
recordings.sales,
artists.name as 'artists',
genres.name as 'genres'
FROM
recordings
JOIN artists
JOIN genres
JOIN rec_artist
WHERE artists.id = rec_artist.id
AND recordings.rec_id = rec_artist.rec_id
AND genres.id = recordings.genre_id;
表架构:
recordings
rec_title (varchar)
rec_id (Primary Key)
sales (dec)
genre_id (Foreign Key)
genres
id (primary key)
name (varchar)
artists
id (primary key)
name (varchar)
rec_artist (junction table)
artist_id (primary key)
rec_id (primary key)
我有点困惑,在哪里继续,仍然在搞清楚mysql。我应该做子查询而不是连接吗?我的结果是空集。这个作业的问题如下:
创建一个视图,其中包含所有录音的标题和销售额、各自艺术家的姓名以及录音类型的名称。按流派名称的字母顺序排序。在同一类型中,按艺术家姓名的字母顺序排序。在同一艺术家中,按销售额排序(最高优先)。不要包含空标题、流派或艺术家名称。视图必须有4列。
1条答案
按热度按时间8yparm6h1#
您将需要一个与下一个类似的查询,使用
inner joins
在适当的列上连接表:最后一步:
不要包含空标题、流派或艺术家名称
你可以在一个
where
条款。这样地: