Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL wybierz max(data) i odpowiednią wartość

Możesz użyć podzapytania. Podzapytanie otrzyma Max(CompletedDate) . Następnie bierzesz tę wartość i ponownie dołączasz do stołu, aby pobrać powiązanie notatki z tą datą:

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. Błąd serwera SQL przy poleceniu aktualizacji — Wystąpił poważny błąd w bieżącym poleceniu

  2. Jak zwrócić wiele zestawów wyników za pomocą SqlCommand?

  3. Dynamiczne zapytanie PIVOT programu SQL Server?

  4. Trendy w 2020 roku, których administratorzy baz danych powinni być świadomi

  5. Pomóż ulepszyć statystyki programu SQL Server!