Вывести всю информацию о самом молодом режиссере. в SQL SERVER

не могу понять как сделать запрос может кто пожалуйста объяснить ?вот код таблицы:

1.  CREATE TABLE Кинодеятели
2.  (КодКинодеятеля INT IDENTITY(1,1) PRIMARY KEY,
3.  Фамилия         VARCHAR(50)     NOT NULL,
4.  Имя             VARCHAR(50)     NOT NULL,
5.  Отчество        VARCHAR(50)         NULL,
6.  КодДеятельности INT             NOT NULL,
7.  ДатаРождения    DATETIME        NOT NULL,
8.  КодФильма       INT             NOT NULL,
9.  Гражданство     VARCHAR(50)     NOT NULL,
10. CONSTRAINT fk_ВидДеятельности
11. FOREIGN KEY(КодДеятельности)    REFERENCES ВидДеятельности,
12. CONSTRAINT fk_Фильмы
13. FOREIGN KEY(КодФильма)  REFERENCES Фильмы)
14. GO

вот пытался сделать запрос:

1.  SELECT  *
2.  FROM    Кинодеятели
3.  WHERE   КодДеятельности='2' and 
4.          ДатаРождения in 
5.          (SELECT MAX(ДатаРождения) from Кинодеятели)

КодДеятельности='2' это код режиссера

Ответы (1 шт):

Автор решения: Mikhail

Вы накладываете фильтр КодДеятельности='2',затем в подзапросе ищете максимальную дату по всей таблице. В таком случае фильтр КодДеятельности='2' нужно повторить в подзапросе. Но запрос тогда станет не лаконичным. Достаточно будет одного фильтра в подзапросе, вот так:

 SELECT *
   FROM Кинодеятели
  WHERE ДатаРождения in (select MAX(ДатаРождения) 
                           from Кинодеятели
                          WHERE КодДеятельности=2 )
→ Ссылка