2012-11-23 41 views
0

请帮助MySQL新手。我有3个表:用户名 - 用户名是主键,表歌 - idsong是主键,第二列是标题,第三个表以列“ref”作为主键购买,“idsong”是来自歌曲表的外键和“用户名“是来自用户表的外键。所以我需要生成一个查询来查询哪些歌曲有特定的用户购买,并且我需要标题显示。到目前为止,我有:MySQL - 根据条件加入3个表格

SELECT idsong FROM purchased 
    JOIN users ON users.username=purchased.username 
    WHERE users.username='admin'; 

,这让我对用户的歌曲ID,但我不知道如何添加标题,从第三个表显示。请帮忙!

回答

1
SELECT s.idsong, s.title 
    FROM purchased p 
INNER JOIN users u ON u.username=p.username 
INNER JOIN song s ON p.idsong = s.idsong 
WHERE u.username='admin'; 
+1

这不起作用的遗憾。获取错误1064(42000):您的SQL语法出错;检查对应于你的MySQL服务器版本的手册,在'INNER JOIN歌曲'ON p.idsong = s.idsong WHERE u.username ='admin''第4行附近使用正确的语法 – user1781482

+0

真棒!这工作。非常感谢! – user1781482