【问题标题】:Avoiding duplicates when joining two tables in MySQL在 MySQL 中连接两个表时避免重复
【发布时间】:2016-03-24 07:22:35
【问题描述】:

我编写了代码来提取下表的数据。第一个是学生表:

Student | Course | Post |
--------|--------|------|
   1    |   67   |  4   |
   2    |   75   |  5   |
   3    |   67   |  8   |

导师表:

    Instructor | Course | Post |
    -----------|--------|------|
         5     |   67   |  9   |
         4     |   75   |  11  |
         7     |   67   |  7   |

我在课程中通过左连接加入了这两个表,以得到一个学生表和他们的各种教师。但是,结果会为同一课程中的两名教师生成重复项。如下所示:

Student | Course | Post | Instructor |
--------|--------|------|------------|
   1    |   67   |  4   |     5      |
   1    |   67   |  4   |     7      |
   2    |   75   |  5   |     4      |

有没有办法可以避免重复并显示该课程的两位讲师? 谢谢

【问题讨论】:

  • 一般来说,数据显示的问题最好在表现层处理,如果有的话。

标签: mysql


【解决方案1】:

试试这个:

SELECT s.*, GROUP_CONCAT(i.Instructor) AS Instructor
FROM student_table s LEFT JOIN instructor_table i USING(Course)
GROUP BY s.Student

【讨论】:

    猜你喜欢
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多