MySQL音乐数据库

时间:2015-01-31 04:01:35

标签: mysql

我正在Creative Commons下创建一个MySQL音乐数据库。我是MySQL新手,所以我不确定这是否是正确的设置,如果是,如何查询它。 这是我的表格:

 - `artist`
   - `id` - artist id
   - `name` - artist name
 - `genre`
   - ` id ` - genre id
   - ` name ` - genre name
 - `license`
   - `id` - license id
   - `name` - license name
 - `song`
   - `id` - song id
   - `artist ` - artist id
   - `title` - song title
   - `license ` - license id
   - `link` - link to song
 - `songgenre`
   - `genre` - genre id
   - `song` - song id

我希望它能够提供这些信息:

------------------------------------------------
|artist | song title| genre(s)| license | link |
-----------------------------------------------

非常感谢任何帮助。

编辑:类型的一个例子是:

-------------------------
| classical, orchestral |
-------------------------

基本上是该歌曲所有类型的列表。

1 个答案:

答案 0 :(得分:0)

在阅读了许多其他Stack Overflow答案和W3 Schools之后,我最终拼凑了代码。 这是代码:

SELECT song.id, artist.name, song.title, genre.name, license.name, song.url
FROM songs 
INNER JOIN artist ON artist.id=song.artist
INNER JOIN license ON license.id = song.license
INNER JOIN songgenre r ON song.id = r.song_id
INNER JOIN genres ON r.genre_id = genres.id

这给了我一个结果:

---------------------------------------------------
|id|artist_title|title|genre_name|license_name|url|
---------------------------------------------------
|1 | Artist     |Song1| Genre1   | License   |url|
---------------------------------------------------
|1 | Same Artist|Song1| Genre2   | License   | url|
---------------------------------------------------

如果我弄清楚如何将两种类型放在同一行中,我会更新答案。