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

accéder à une colonne alias dans la clause where dans postgresql

Voici comment vous l'avez fait - alias dans le nom de la colonne

select 
  -- etc etc 
  (select innerDLI.datetime_created from distribution_line_items innerDLI where innerDLI.item_number = distribution_line_items.item_number order by innerDLI.datetime_created asc limit 1) as Origination,
  -- etc etc
from distribution_stop_information
  -- etc etc

Voici comment vous pouvez le mettre dans le où, alias dans la jointure

select 
  -- etc etc 
  Origination.datetime_created
  -- etc etc
from distribution_stop_information 
left join distribution_line_items AS Origination ON Origination.item_number = distribution_line_items.item_number
where Origination.datetime_created > to_date(?, 'YYYY-MM-DD') - interval '180 days'  
-- etc etc

Il n'y a rien à ce sujet qui est mieux que la solution que vous avez publiée (l'optimiseur sql devrait aboutir au même plan) mais il "utilise un alias dans la clause where"