@JframeAlex

Как правильно написать SQL запрос?

Необходим запрос, получающий список всех программ
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 1
@mletov
SELECT ProgramId,
	   Subject,
	   StatusDate
FROM
(
	SELECT programs.Id AS ProgramId, 
		   subjects.Name AS Subject,
		   status.Date AS StatusDate,
		   status.Id AS StatusId, 
		   ROW_NUMBER() OVER(PARTITION BY programs.Id ORDER BY status.Date DESC, status.Id DESC) AS rn
	FROM programs

	INNER JOIN status
	ON programs.Id=status.ProgramId

	INNER JOIN subjects
	ON programs.SubjectId=subjects.Id
) AS t1
WHERE rn=1 
AND StatusId=3 -- 3 - айдишка статуса  'заблокировано' в справочнике статусов

ORDER BY StatusDate DESC


Это не совсем готовое решение, а скорее повод куда думать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы