我有两张桌子,学生和主管:
STUDENT
(supervisorid(PK),姓名,电子邮件....)SUPERVISOR
(supervisorid(PK),姓名,电子邮件....)现在我需要打印主管姓名,电子邮件和主管下的学生数量(他们将拥有相同的主管ID)。类似的东西:
select supervisorname,
supervisoremail,
tot_stud as (select count(*)
Phd_Student s
where s.supervisor_id = r.supervisor_id)
from Phd_Supervisor r
请告诉我SQL查询。
答案 0 :(得分:1)
您将需要对此查询使用group by
子句。您可以指定要显示的所有字段,以及count(*)
,连接表,关联表,然后输入group by
子句,列出所有显示字段, (没有count(*)
),因为这些是您将学生分组以获取其数量的字段。
答案 1 :(得分:0)
select supervisorname,
supervisoremail,
(select count(*)
from Phd_Student s
where s.supervisor_id = r.supervisor_id) as tot_stud
from Phd_Supervisor r