sql >> Database >  >> RDS >> Sqlserver

SQL:gebruik een berekend veld uit de SELECT in de WHERE-component

Gebruik een CTE (Common Table Expression) - een soort "inline" weergave alleen voor de volgende verklaring:

;WITH MyCTE AS
(
    SELECT 
        RANK() OVER(PARTITION BY XXX ORDER BY yyy,zzz,oooo) as ranking, 
        * 
    FROM SomeTable
) 
SELECT * 
FROM MyCTE
WHERE ranking = 1 --> this is now possible!


  1. Gebruikers en authenticatie beheren in MySQL

  2. Hoe max_connections in MySQL Programmatisch in te stellen

  3. SQL om de eerste twee kolommen van een tabel te retourneren

  4. fout in uw SQL-syntaxis .. in de buurt van 'sleutel'