Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL изберете max(дата) и съответната стойност

Можете да използвате подзаявка. Подзаявката ще получи Max(CompletedDate) . След това приемате тази стойност и се присъединявате отново към вашата маса, за да извлечете бележката, свързана с тази дата:

select ET1.TrainingID,
  ET1.CompletedDate,
  ET1.Notes
from HR_EmployeeTrainings ET1
inner join
(
  select Max(CompletedDate) CompletedDate, TrainingID
  from HR_EmployeeTrainings
  --where AvantiRecID IS NULL OR AvantiRecID = @avantiRecID
  group by TrainingID
) ET2
  on ET1.TrainingID = ET2.TrainingID
  and ET1.CompletedDate = ET2.CompletedDate
where ET1.AvantiRecID IS NULL OR ET1.AvantiRecID = @avantiRecID


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кога сортирането на SQL Server се пренавива?

  2. Как да получите списък с разрешени/деактивирани ограничения за проверка в базата данни на SQL Server - SQL Server / TSQL Урок, част 86

  3. CURRENT_TIMESTAMP Примери в SQL Server (T-SQL)

  4. Основи за вътрешно присъединяване на SQL Server с примери

  5. Как работи sp_describe_first_result_set в SQL Server