从关联表中获取数据的Sql查询
我必须从两个表中获取数据从关联表中获取数据的Sql查询,sql,relation,jointable,Sql,Relation,Jointable,我必须从两个表中获取数据 (主键)=主键 (FK)=外键 TABLE1- [STUDENTS] s_id(PK) name other 1 a z 2 b z 3 c z 我想显示当前班级的学生(最后分配的班级) 表关系如下所示 学生被录取后,被分配到1班 1年后,在[STUDENT-CLASS]表中插入一条新记录,为每个或某些学生分配新班级 我想这样展示 s_i
(主键)=主键
(FK)=外键
TABLE1- [STUDENTS]
s_id(PK) name other
1 a z
2 b z
3 c z
我想显示当前班级的学生(最后分配的班级)
表关系如下所示
学生被录取后,被分配到1班
1年后,在[STUDENT-CLASS]表中插入一条新记录,为每个或某些学生分配新班级
我想这样展示
s_id name other [STUDENT-CLASS].Class_id [CLASSES].class_nam
1 a z 3 7th
2 b z 2 6th
3 c z 1 5th
Select S.studentid, s.name, s.other, c.classid, c.classname
from
(Select studentid, Max(Classid) as 'currentclassid' from StudentClassTable group by studentid) A
inner join StudentTable S on A.studentid = S.Studentid
inner join ClassTable C on A.CurrentClassid = C.Classid
试试这样的
s_id name other [STUDENT-CLASS].Class_id [CLASSES].class_nam
1 a z 3 7th
2 b z 2 6th
3 c z 1 5th
Select S.studentid, s.name, s.other, c.classid, c.classname
from
(Select studentid, Max(Classid) as 'currentclassid' from StudentClassTable group by studentid) A
inner join StudentTable S on A.studentid = S.Studentid
inner join ClassTable C on A.CurrentClassid = C.Classid
下面的查询将完成这项工作
SELECT student_id, name, other, b.last_class_id, c.class_name
FROM STUDENTS a
LEFT JOIN (SELECT student_id, max(class_id) As last_class_id
FROM student_class
GROUP BY student_id) b ON a.student_id = b.student_id
LEFT JOIN CLASSES c ON c.class_id = b.last_class_id
是的,这是可能的。我们可以知道你试过什么吗?