sql >> Databáze >  >> RDS >> Sqlserver

spojování více společných tabulkových výrazů

Zkuste tento dotaz, možná je to to, co hledáte.

;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. Získávání chyby:Autentizace peer selhala pro uživatele postgres, když se pokouší zprovoznit pgsql s rails

  2. Halda SQL Server v.s. shlukovaný index

  3. Výpočet týdne MySQL mezi dvěma daty

  4. Uložená procedura a vyplnění tabulky Temp z propojené uložené procedury s parametry