【问题标题】:MySQL Query Help Please Join multiple tablesMySQL 查询帮助 请加入多个表
【发布时间】:2015-03-01 16:41:35
【问题描述】:

我有这 4 张桌子 (见图)

我想做的是这个

UID | f_name | m_name | l_name |后缀 |班级 |主题

000 |jan |s |格里|空 |测试 |艺术

001 |rey |s |ronald |null |test2 |123

但是我创建的这个查询给了我这个输出

SELECT CONCAT(tbl_users.f_name, ' ', tbl_users.m_name, ' ', tbl_users.l_name, ' ', tbl_users.suffix) AS insName, tbl_classinstructor.UID, tbl_subject.subject, tbl_class.class FROM tbl_class, tbl_classinstructor LEFT OUTER JOIN tbl_users ON tbl_users.UID = tbl_classinstructor.UID, tbl_classsubject LEFT OUTER JOIN tbl_subject ON tbl_classsubject.SID = tbl_subject.SID

UID | f_name | m_name | l_name |后缀 |班级 |主题

000 |jan |s |格里|空 |测试 |艺术

000 |jan |s |格里|空 |测试 | 123

001 |rey |s |ronald |null |test2 |arts

001 |rey |s |ronald |null |test2 |123

提前致谢

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    正确使用left join。这里应该是怎样的

    SELECT 
    CONCAT(tbl_users.f_name, ' ', tbl_users.m_name, ' ', tbl_users.l_name, ' ', tbl_users.suffix) AS insName, 
    tbl_classinstructor.UID, 
    tbl_subject.subject, 
    tbl_class.class FROM tbl_class
    LEFT OUTER JOIN tbl_classinstructor on tbl_classinstructor.CID = tbl_class.CID
    LEFT OUTER JOIN tbl_users ON tbl_users.UID = tbl_classinstructor.UID
    LEFT OUTER JOIN tbl_classsubject on tbl_classsubject.CID = tbl_class.CID
    LEFT OUTER JOIN tbl_subject ON tbl_classsubject.SID = tbl_subject.SID 
    

    【讨论】:

      猜你喜欢
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-07
      相关资源
      最近更新 更多