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

Použijte jeden CTE mnohokrát

CTE je v podstatě jednorázový pohled. Přetrvává pouze pro jeden příkaz a poté automaticky zmizí.

Vaše možnosti zahrnují:

  • Předefinujte CTE podruhé. Je to stejně jednoduché jako kopírování a vkládání z WITH... přes konec definice až před váš SET .

  • Vložte své výsledky do #temp tabulka nebo @table proměnná

  • Zhmotněte výsledky do skutečné tabulky a odkazujte na ni

  • Mírně změňte pouze na SELECT COUNT z vašeho 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. Jaký je nejjednodušší způsob, jak vyčistit databázi z CLI pomocí manage.py v Django?

  2. MySQL FULL JOIN nefunguje, ale funguje RIGHT a LEFT připojení

  3. Uložené procedury MySQL, Pandas a Use multi=True při provádění více příkazů

  4. PHP:Volání uložené procedury MySQL s parametry INPUT I OUTPUT (NOT INOUT)