Mysql 检索少于或为空的记录
我有5张表,如下所示: 学生(学号、名、姓、学区号) 章节(章节ID、章节标题) 受试者(受试者ID、受试者标题) 考试(考试ID、考试标题) 学生分数(学生ID、部门ID、科目ID、考试ID分数)Mysql 检索少于或为空的记录,mysql,Mysql,我有5张表,如下所示: 学生(学号、名、姓、学区号) 章节(章节ID、章节标题) 受试者(受试者ID、受试者标题) 考试(考试ID、考试标题) 学生分数(学生ID、部门ID、科目ID、考试ID分数) 每个学生每门学科应参加4次考试 我想检索在4次考试中没有得分的学生的姓名。 (少于4次考试或无记录) 我有一个疑问: SELECT First_Name,Subject_Title,Section_Title FROM students s left join `Stu_Marks` sm
- 每个学生每门学科应参加4次考试
SELECT First_Name,Subject_Title,Section_Title
FROM students s left join `Stu_Marks` sm
on sm.Student_ID=s.Student_ID
left join subjects j
on sm.Subject_ID=j.Subject_ID
left join Sections l
on sm.Section_ID=l.Section_ID
group by sm.`Student_ID`,sm.Subject_ID
having count(sm.Student_ID)<4
选择第一个名称、主题标题、章节标题
从学生的左边加入'Stu_Marks'sm
关于sm.Student\u ID=s.Student\u ID
左连接主题j
关于sm.Subject\u ID=j.Subject\u ID
左连接部分l
在sm.Section\u ID=l.Section\u ID上
按sm分组。`Student\u ID',sm.Subject\u ID
让count(sm.Student_ID)考虑提供适当的ddl和/或sqlfiddle以及所需的结果集,您必须使用LEFT(或RIGHT)join来实现这一点。表1、表2、表2中带有逗号的旧联接语法使使用外部联接变得不可能。您必须首先使用新的ANSI SQL语法重写查询:从表1按条件连接表2按条件连接表2等。
好的,我这样做了。。但仍然没有尊重