select city, type, min(cost), max(cost), max(reportdate),
(select t2.reportdate from
(
select city, type, cost, reportdate from x
union
select city, type, cost, reportdate from x_2
) t2
where
t2.city=
t.city and t2.type=t.type
order by t2.reportdate desc
limit 1 OFFSET 2
)
from
(
select city, type, cost, reportdate from x
union
select city, type, cost, reportdate from x_2
) t
group by city, type
order by city, type