Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

T-SQL Subquery Max (Tanggal) dan Bergabung

Inilah cara lain untuk melakukannya tanpa subquery. Metode ini sering kali mengungguli yang lain, jadi ada baiknya menguji kedua metode untuk melihat mana yang memberikan kinerja terbaik.

SELECT
     PRT.PartID,
     PRT.PartNumber,
     PRT.Description,
     PRC1.Price,
     PRC1.PriceDate
FROM
     MyParts PRT
LEFT OUTER JOIN MyPrices PRC1 ON
     PRC1.PartID = PRT.PartID
LEFT OUTER JOIN MyPrices PRC2 ON
     PRC2.PartID = PRC1.PartID AND
     PRC2.PriceDate > PRC1.PriceDate
WHERE
     PRC2.PartID IS NULL

Ini akan memberikan beberapa hasil jika Anda memiliki dua harga dengan Tanggal Harga PERSIS yang sama (Kebanyakan solusi lain akan melakukan hal yang sama). Juga, saya tidak ada yang memperhitungkan tanggal harga terakhir di masa depan. Anda mungkin ingin mempertimbangkan pemeriksaan untuk itu terlepas dari metode mana yang akhirnya Anda gunakan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Representasi DateTime dalam milidetik?

  2. PADA ZONA WAKTU – fitur favorit baru di SQL Server 2016

  3. Sesuaikan Alarm Awan Spotlight

  4. Menyimpan pesan galat SqlServer di C#

  5. Cara Menghapus Karakter Leading dan Trailing di SQL Server