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

menggabungkan beberapa ekspresi tabel umum

Coba kueri ini, mungkin ini yang Anda cari.

;WITH cte AS
 (SELECT dbo.Cable.*, 
         row_number() over(partition by dbo.Cable.TagNo order by dbo.Cable.CableRevision desc) as rn
  FROM dbo.Cable 
  WHERE dbo.Cable.CableRevision = @CoreRevision
  ), cte2 AS
 (SELECT dbo.Cable.TagNo, dbo.Core.*, 
         row_number() over(partition by dbo.Core.CoreNo order by dbo.Core.CoreRevision desc) as rn
  FROM dbo.Core INNER JOIN dbo.Cable ON dbo.Cable.Id = dbo.Core.CableId
  WHERE dbo.Core.CoreRevision <= @CoreRevision
  )
  SELECT *
  FROM cte c FULL JOIN cte2 c2 ON c.TagNo = c2.TagNo
  WHERE c.rn = 1 OR c2.rn = 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mesin Virtual Azure untuk Penggunaan SQL Server

  2. Bagaimana cara menjumlahkan Akun berdasarkan panjang kode akun?

  3. Metode paling efisien untuk mendeteksi perubahan kolom di MS SQL Server

  4. Hasil SQL dinamis menjadi tabel temp dalam prosedur SQL Stored

  5. Fungsi Bernilai Tabel Multi-pernyataan vs Fungsi Bernilai Tabel Sebaris