Ordering in subqueries
You don't need a subquery at all. But you have to decide what ordering you want. 

After the group by there is no tldid values any more. And every group will be made by collapsing many rows (with different tldid values) into one row. Which of them should be used for the ordering? Is it the maximum, the mimimum or some other? 

You can write for example:

select locid, tlid, locdescription
from 
  trip_log left join trip_log_det on tlid = tldtripid 
  left join locations on tldlocation = locid
where tlid = 50 
group by locid, tlid, locdescription
order by min(tldid) ;




In Postgres, you could also use the non-standard DISTINCT ON syntax to achieve the same result. This is more flexible, as you can have the tldid and other (non-grouped) columns in the select list as well:

select distinct on (locid, tlid, locdescription)
    locid, tlid, locdescription
from 
  trip_log left join trip_log_det on tlid = tldtripid 
  left join locations on tldlocation = locid
where tlid = 50 
order by locid, tlid, locdescription,
         tldid asc ;