As far as I can see this is the same query as in your previous questoin, just renamed columns.
In other words
SELECT a.id,
a.cid,
b.price,
a.date
FROM order a
LEFT JOIN item b ON a.id = b.id
WHERE b.date = (SELECT MAX(b2.date)
FROM item b2
WHERE b2.id = a.id
AND b2.date <= a.date)