Postgres overholder standarden ved at tillade kolonnealiaser som order by
nøgler. Så dette virker:
SELECT CONCAT(first_name, last_name) AS full_name
FROM customer
ORDER BY full_name;
Det udvider dog ikke dette til udtryk ved at bruge aliasserne. Du kan rette dette ved at bruge underforespørgsler eller CTE'er. Jeg kan også foreslå en lateral sammenføjning:
SELECT v.full_name
FROM customer c CROSS JOIN LATERAL
(VALUES (CONCAT(c.first_name, c.last_name))) v(full_name)
ORDER BY v.full_name;