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"