PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

accedere agli alias di una colonna nella clausola where in postgresql

Ecco come hai fatto:alias nel nome della colonna

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

Ecco come puoi inserirlo nel dove, alias nel join

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

Non c'è niente in questo che sia migliore rispetto alla soluzione che hai pubblicato (l'ottimizzatore sql dovrebbe risultare nello stesso piano) ma sta "usando un alias nella clausola where"