Using 9.5, this query: SELECT o.id, a.number AS awb FROM pt.orders o LEFT JOIN ( SELECT DISTINCT ON ((string_agg(air_way_bills.number::text, ','::text))) string_agg(air_way_bills.number::text, ','::text) AS number, air_way_bills.order_id FROM pt.air_way_bills GROUP BY air_way_bills.order_id) a ON a.order_id = o.id gives me null for awb. Removing the DISTINCT ON clause:
SELECT o.id, a.number AS awb FROM pt.orders o LEFT JOIN ( SELECT string_agg(air_way_bills.number::text, ','::text) AS number, air_way_bills.order_id FROM pt.air_way_bills GROUP BY air_way_bills.order_id) a ON a.order_id = o.id where o.id = 2792; gives me an awb. I'm confused about how this can be.