PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Alias ​​de référence dans la clause WHERE

Ce n'est pas possible car en sql, l'ordre d'exécution est d'abord, la clause where puis le select. Au moment où la clause est exécutée, elle ne sait pas ce que vous avez défini comme alias et vous obtiendrez donc cette erreur.

Vous devez réécrire votre requête comme ceci.

SELECT
    SUBSTRING(pk, 6, 2)::INT AS _year
FROM
    listing
WHERE
SUBSTRING(pk, 6, 2)::INT > 90