select x.* from (
SELECT
id, name, level as lvl, leader as par3, timeacceptinvite
FROM Road
WHERE Road.id LIKE '180'
UNION ALL
SELECT
id, name, lvl, lastonline, dnd, null, raceid, currenthp, dressed_hp as hp, timeacceptinvite
FROM Users
WHERE rid LIKE '180'
AND id NOT LIKE (SELECT leader FROM Road WHERE id LIKE '180')
UNION ALL
SELECT
Users.id as id, Users.name, lvl, lastonline, dnd, currentlocid, Location.name as locname, currenthp, dressed_hp as hp, timeacceptinvite
FROM Users LEFT JOIN Location ON (Location.id = currentlocid)
WHERE Users.id LIKE(SELECT leader FROM Road WHERE id LIKE '180')
) as x
ORDER BY x.timeacceptinvite
редактировать 1
но я думаю, что вы получите разное количество столбцов ошибка ...