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

SQL сървърът избира отделни редове, използвайки стойности преди определена дата

DECLARE @REQUEST_DATE varchar(10)
SELECT @REQUEST_DATE = '1/9/2010'

select t1.* from (select ForeignKeyId,AttributeName, max(Created) AS MaxCreated
  from  YourTable
where created < @REQUEST_DATE
group by ForeignKeyId,AttributeName) t2
join YourTable t1 on 
   t2.ForeignKeyId = t1.ForeignKeyId
   and t2.AttributeName = t1.AttributeName
   and t2.MaxCreated = t1.Created



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Показване на датата на следващото събитие

  2. Стартирайте .sql файл от приложение в C#, като използвате SMO библиотека

  3. Разлика между клъстериран и неклъстерен индекс

  4. Защо има пропуски в стойностите на моята колона IDENTITY?

  5. Какви са предимствата на MERGE пред простото IF EXISTS?