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

Използвайте един CTE много пъти

CTE е основно изглед за еднократна употреба. Той се запазва само за едно изявление и след това автоматично изчезва.

Вашите опции включват:

  • Предефинирайте CTE втори път. Това е толкова просто, колкото копиране и поставяне от WITH... през края на дефиницията до преди вашия SET .

  • Поставете резултатите си в #temp таблица или @table променлива

  • Материализирайте резултатите в реална таблица и препратете към нея

  • Променете леко само до SELECT COUNT от вашия CTE:

.

SELECT @total = COUNT(*)
FROM Players p 
INNER JOIN Teams t 
    ON p.IdTeam=t.Id 
INNER JOIN Leagues l 
    ON l.Id=t.IdLeague
WHERE [email protected]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да ограничите редовете в набор от резултати на SQL Server

  2. Как да създадете външен ключ в SQL Server (T-SQL примери)

  3. STRING_SPLIT() в SQL Server 2016:Продължение №1

  4. SSIS - Извършване на търсене на друга таблица за получаване на свързана колона

  5. EF 6 - Как правилно да изпълнявате паралелни заявки