【问题标题】:MySQL - join 3 tables based on criteriaMySQL - 根据条件连接 3 个表
【发布时间】:2012-11-23 16:52:35
【问题描述】:

请帮助 MySQL 新手。我有 3 个表:表 users-username 是主键,表 song - idsong 是主键,第二列是标题,第三个表以“ref”列作为主键购买,“idsong”是歌曲表和“用户名”的外键" 是用户表中的外键。所以我需要生成一个查询,该查询将提取特定用户购买了哪些歌曲,并且我需要显示标题。到目前为止,我有:

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

这给了我用户的歌曲 ID,但我不确定如何添加标题以从第三个表中显示。请帮忙!

【问题讨论】:

    标签: mysql join foreign-keys


    【解决方案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';   
    

    【讨论】:

    • 不幸的是,这不起作用。得到 ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 4 行的“INNER JOIN song s ON p.idsong = s.idsong WHERE u.username='admin'”附近使用正确的语法
    猜你喜欢
    • 2021-11-10
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    相关资源
    最近更新 更多