Можете ли вы установить общий формат для того, что возвращается из всех отдельных таблиц? Так, например, вы бы написали запрос, который вернул FeedTitle, FeedSummary и Timestamp:
select top 20 *
from (
select a.Title as FeedTitle,
a.A + a.B + a.C as FeedSummary,
a.Timestamp as TimeStamp
from a
union all
select b.Name + ' married ' + b.Spouse as FeedTitle,
b.AtPlace as FeedSummary,
b.TimeStamp as TimeStamp
from b
) as allFeeds
order by TimeStamp desc
Не уверен в точном синтаксисе my-sql, он будет работать в SQL Server и должен быть очень похожим. В любом случае, это просто псевдокод, идея в том, что вы должны выполнить некоторую логику своего приложения в базе данных, чтобы, как мы надеемся, повысить производительность (поэтому вам не придется разбирать большое количество данных в PHP).
Другим подходом было бы вернуть последние 20 из каждой таблицы и позволить клиентской стороне перебирать их. Поэтому отправьте их все в пользовательский интерфейс и позвольте коду jQuery отобразить 20 лучших, а затем дайте пользователям возможность динамически выбирать тип фида, и они увидят 20 лучших статей любого типа или любой комбинации типов.