Возможно, вы захотите сделать это в двух запросах, так как выполнение этого в одном запросе будет довольно уродливым и может не принести вам много пользы с точки зрения скорости.
Таким образом, вы будете использовать теги для получения всех постов, которые имеют отношение, а затем просто объединитесь, чтобы получить статьи и связанные записи, которые относятся к постам.
select n.*, g.*, v.* FROM News n
INNER JOIN Galleries g ON(g.postid=n.postid)
INNER JOIN Videos v ON(v.postid=n.postid)
WHERE n.postid IN(
(SELECT p.postid FROM Post_to_tags p WHERE ...)
)
Это должно быть отправной точкой, но я вижу вашу проблему, так как у вас есть посттип.
Почему бы не игнорировать posttype для этого запроса и просто использовать тот же postid для истории, чтобы их можно было легко найти.