SQL-запрос для данной таблицы - PullRequest
0 голосов
/ 10 октября 2009

У меня есть 2 стола, студент и руководитель:

  • STUDENT (SupervisorID (рк), имя, адрес электронной почты ....)
  • SUPERVISOR (SupervisorID (рк), имя, адрес электронной почты ....)

Теперь мне нужно напечатать имя супервайзера, адрес электронной почты и количество учеников под присмотром супервизора (у них будет одинаковый идентификатор супервизора). Что-то вроде:

select supervisorname,
       supervisoremail,
       tot_stud as (select count(*) 
                           Phd_Student s 
                     where s.supervisor_id = r.supervisor_id) 
  from Phd_Supervisor r

Подскажите, пожалуйста, запрос SQL для этого.

Ответы [ 2 ]

1 голос
/ 10 октября 2009

Вы захотите использовать предложение group by для этого запроса. Вы можете указать все поля, которые вы хотите отобразить, а также count(*), объединить таблицы, связать таблицы, а затем вставить в ваше предложение group by список всех полей отображения (без *). 1004 *), так как это те поля, по которым вы группируете студентов, чтобы получить их счет.

0 голосов
/ 11 октября 2009
select supervisorname,
   supervisoremail,
   (select count(*) 
    from Phd_Student s 
    where s.supervisor_id = r.supervisor_id) as tot_stud
from Phd_Supervisor r
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...