给定表的SQL查询

时间:2009-10-10 19:46:11

标签: sql

我有两张桌子,学生和主管:

  • 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查询。

2 个答案:

答案 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