(SELECT *,UNIX_TIMESTAMP(insered) as insered FROM post WHERE isop<>'1' AND id='1' LIMIT 1) UNION (SELECT *,UNIX_TIMESTAMP(insered) as insered FROM post WHERE isop<>'1' AND cat='1' ORDER BY insered DESC LIMIT 5);

posto che i nomi dei campi sono corretti...una query del genere perchè non dovrebbe funzionare?