mysql - 在 MySQL 中连接两个表时避免重复

标签 mysql

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

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

讲师表:

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

我在类(class)中使用左连接将两个表连接起来,以获得一张包含学生及其不同讲师的表。但是,结果会为同一类(class)中的两位教师产生重复的结果。正如您将在下面看到的:

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

有没有办法可以避免重复并向两位讲师展示该类(class)? 谢谢

最佳答案

试试这个:

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

关于mysql - 在 MySQL 中连接两个表时避免重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36195017/

相关文章:

php - 从单选按钮的 php 中检索 mysql 值

mysql - 在仅填充 Facebook ID 的 MySql 中创建用户表?

java - 使用 Criteria 运行子查询时出现 ClassCastException (String to Long)

php - MySQLI 获取数据库列

mysql - 从具有不同 id 的同一个表中获取具有共同值的行

mysql - cakephp 在 MAX() 上设置条件

php - 未定义索引 PHP 错误/警告

mysql重启后恢复ONLY_FULL_GROUP_BY

MySQL/PHP 自动提示

php - MySQL:获取前一条记录的ID