PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Referenzalias in WHERE-Klausel

Dies ist nicht möglich, da in SQL die Ausführungsreihenfolge zuerst die Where-Klausel und dann die Auswahl ist. Zu dem Zeitpunkt, an dem die Klausel ausgeführt wird, weiß sie nicht, was Sie als Alias ​​definiert haben, und Sie erhalten diesen Fehler.

Sie müssen Ihre Abfrage wie folgt umschreiben..

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