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

Serwer SQL wybiera różne wiersze, używając wartości sprzed określonej daty

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. Podział ciągu T-SQL

  2. Dlaczego RAND() nie generuje liczb losowych?

  3. SQL Server 2008 porównuje dwie tabele w tej samej bazie danych i zmienia kolumnę

  4. Przekazywanie wielu wartości do parametru funkcji w SQL

  5. Czy typ danych „MONEY” programu SQL Server jest dziesiętną liczbą zmiennoprzecinkową lub binarną liczbą zmiennoprzecinkową?