Php SQL从一个表基于另一个表获取信息';s行值,反之亦然

Php SQL从一个表基于另一个表获取信息';s行值,反之亦然,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,我在一个MySQL数据库中为音乐下载编制索引,总共只能有两个数据库。我决定按如下方式组织数据库: 数据库: music > artist >> artistS >> artistR >> genre > album >> album >> artistS >> year > song >> song >> album >> art

我在一个MySQL数据库中为音乐下载编制索引,总共只能有两个数据库。我决定按如下方式组织数据库:

数据库:

music
>  artist
>>   artistS
>>   artistR
>>   genre
>  album
>>   album
>>   artistS
>>   year
>  song
>>   song
>>   album
>>   artistS
我想知道是否有办法输入这些值中的一个,并从所有表格中获取所有结果(例如,我输入“Blues”,我从表格艺术家处获取“Blues”类型的艺术家,从该艺术家处获取专辑,因为该艺术家具有“Blues”类型,以及艺术家专辑中的所有歌曲,因为他们有“布鲁斯”类型


如果您需要信息或澄清,请这样说。

将艺术家设置为艺术家表中的主键,将其设置为相册表中的外键,并与相册表中的艺术家列相关联。对album表的album列执行相同的操作,使其成为与album列关联的Song表中的主键,并使其成为外键。然后在所有表中插入数据,确保在外键列中输入的值与其关联的主键相同,例如

艺术家表

Artists = ABC (primary key)
ArtsitR = XYZ
Genre = Blues
Album = PQR (Primary key)
Artists = ABC (foreign key)Same value as in table artist
Year = 1990
相册表中的

Artists = ABC (primary key)
ArtsitR = XYZ
Genre = Blues
Album = PQR (Primary key)
Artists = ABC (foreign key)Same value as in table artist
Year = 1990
歌曲表中的

Song = MNO
Album = PQR  (foreign key)Same value as in table album
Artists = KLM
现在使用这个查询

Select artist.Artists,artist.Genre, artist.ArtistR, artist.album,Album.Artists,Album.year,
Song.Song,Song.Artists from artist inner join album on album.Artists = artist.Artists
inner join Song on Song.Album = album.Album where artist.Genre = 'Blues'

希望这将对您有所帮助。

您可能需要查看
Join
语句