SQL合并三个没有公用外键的表

时间:2018-11-16 02:10:08

标签: sql

我一直希望使用SQL Server 2016合并三个(或更多)表。这是一个音乐数据库,我能够毫无问题地合并前两个表。这是我可以合并的两个表:

Artist
 ArtistID (pk)
 ArtName

Song
 SongID (pk)
 SongTitle

ArtistSong
 ArtSongID (pk)
 ArtistID (fk)
 SongID (fk)

这是我创建的用于连接两个表的代码段

SELECT ArtName, SongTitle
FROM ArtistSong aso
JOIN Artist a ON aso.ArtistID = a.ArtistID
JOIN Song s ON aso.SongID = s.SongID;

我希望添加第三个表,或者可能是第四个不与其他表共享外键的表。我想将专辑标题添加到查询中。这是专辑表

Album
 AlbumID (pk)
 AlbumTitle (fk)

我应该将“专辑”添加到连接表,还是应该考虑其他方法。

下面是ERD的图像

enter image description here

任何帮助将不胜感激。 谢谢

1 个答案:

答案 0 :(得分:1)

怎么样:

...
JOIN Album_Song abs ON abs.SongID = s.SongID
JOIN Album ab ON ab.AlbumID = abs.AlbumID
...