sql >> Database teknologi >  >> RDS >> Sqlserver

Brug én CTE mange gange

En CTE er dybest set en engangsvisning. Det fortsætter kun i en enkelt sætning og forsvinder derefter automatisk.

Dine muligheder omfatter:

  • Omdefiner CTE en anden gang. Dette er så simpelt som copy-paste fra WITH... til slutningen af ​​definitionen til før dit SET .

  • Indsæt dine resultater i en #temp tabel eller en @table variabel

  • Materialer resultaterne til en rigtig tabel og referer til den

  • Skift lidt til kun SELECT COUNT fra din 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. FEJL 2003 (HY000):Kan ikke oprette forbindelse til MySQL-server på '127.0.0.1' (111)

  2. Kan jeg bruge flere markører på én forbindelse med pyodbc og MS SQL Server?

  3. T-SQL Hvordan opretter man tabeller dynamisk i lagrede procedurer?

  4. java.sql.SQLEundtagelse:Opbrugt resultatsæt