mysql - 如何在没有相同数字或行的情况下连接具有多对多关系的 2 个表

标签 mysql join

我想连接具有多对多关系的 2 个表。

我已经尝试了 Left、Right 和其他表连接方法,但我无法获得预期的结果。

这是一个示例:

收费

enter image description here

成绩单

enter image description here

这是我的代码

SELECT a.student_id,
a.description,
b.subject_id FROM tblcharge AS a 
LEFT JOIN  tblgrades AS b ON 
(a.student_id=b.student_id) AND b.school_yr_id=18 AND b.semester_id=1 
WHERE a.sy_id=18 AND a.sem_id=1 AND a.student_id='15-3060'

输出

enter image description here

我想要的是这样的

enter image description here

最佳答案

对我来说这看起来像是一个左连接:

select t1.id, t1.item, t2.item
from t1 left join
     t2
     on t1.id = t2.id and t1.item = t2.item;

关于mysql - 如何在没有相同数字或行的情况下连接具有多对多关系的 2 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49021080/

相关文章:

c# - 将数据插入名为 game 的表

mysql - 尝试 JOIN 两个派生表时出错

postgresql - 使用动态目标列进行查询

php - 调用函数 - 如何简化它?

mysql - SQL - 确保一个表中的值与另一表中的适当值相关联的约束

MySQL MAX 在连接查询中的应用

sql - 函数不返回任何内容 Postgresql

mysql - 查询无法与 LEFT JOIN (MySQL) 一起正常工作

php - 如何使用连接表将记录添加到数据库 - codeigniter

php - 单击按钮后显示最近的数据(不同页面)