Ce que vous montrez essentiellement, c'est que vous avez un problème de conception dans votre modèle où il semble que le mauvais choix ait été fait lors de l'implémentation des super/sous-types. Votre exigence fonctionnelle est d'avoir des données (simulaires) de deux tables différentes sous la forme d'un ensemble uniforme. Ce serait simple si toutes ces lignes avaient été dans une seule table. La vraie question est donc de savoir pourquoi ils ne le sont pas.
Vous pouvez toujours obtenir cette requête plus rapidement (je suppose) mais c'est moche.
SELECT * FROM
(SELECT * FROM (select title, id, date as date_added from test1
ORDER BY date_added DESC LIMIT 0,8) t1
UNION ALL
SELECT * FROM (select title, customer as id, date_added from test2
ORDER BY date_added DESC LIMIT 0,8) t2
) joined
ORDER BY date_added DESC
LIMIT 0,8