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

PostgreSQL:Verwenden einer berechneten Spalte in derselben Abfrage

Sie müssen die SELECT-Anweisung in eine abgeleitete Tabelle einschließen, um auf den Spaltenaliasnamen zugreifen zu können:

select cost1,
       quantity_1,
       cost_2,
       quantity_2
       total_1 + total_2 as total_3
from (
    select cost_1, 
           quantity_1, 
           cost_2, 
           quantity_2, 
           (cost_1 * quantity_1) as total_1,
           (cost_2 * quantity_2) as total_2
    from data
) t

Dafür wird es keine Leistungseinbußen geben.

(Ich bin wirklich überrascht, dass Ihre ursprüngliche SQL-Anweisung überhaupt in einem DBMS läuft)