Вывести всю информацию о самом молодом режиссере. в 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 )