O que provavelmente poderia ajudar neste caso seria usar uma consulta UNION. Nesse tipo de consulta, você pode combinar os registros de tabelas diferentes, no entanto, cada parte SELECT do UNION deve produzir os mesmos campos, portanto, fornecer campos fictícios vazios para tabelas que estão faltando esses campos. Uma cláusula ORDER By pode seguir o último SELECT
SELECT Common1, Common2, SpecialA, null AS SpecialB FROM TableA
UNION ALL
SELECT Common1, Common2, null AS SpecialA, SpecialB FROM TableB
UNION ALL
SELECT ...
ORDER BY ...