premetto che lo scrivo di getto, chiedo quindi scusa in anticipo per probabili imprecisioni, prendi il mio [eventuale] aiuto giusto come bozza su cui lavorare ...
la mia idea è che potresti prima fare la query con una union, poi mettere il risultato in un array, riordinarlo [se serve] per data decrescente o altre chiavi che preferisci e finalmente fare un bel loop sull'array per stampare il contenuto _riordinato_ sull'output html formattato come preferisci
esempio di query:
SELECT DATA, TITOLO, TESTO, '' AS AUTORE, '' AS SINOSSI
FROM TABELLAEVENTI
UNION
SELECT DATA, TITOLO, BIO AS TESTO, AUTORE, SINOSSI
FROM TABELLAEVIDEO
ORDER BY 1 DESC, 2, 3, 4, 5
questa union funziona però solamente se i campi TESTO e BIO sono di tipo identico (esempio varchar di 200 caratteri o roba simile)
spero ti sia utile questa bozza