Я думаю, что это можно сделать с помощью UNION
, как показано ниже:
SELECT SUM(`col-A`) AS 'Col-A',SUM(`col-b`) AS 'Col-B',
SUM(`col-C`) AS 'Col-C',SUM(`col-1`) AS 'Col-1',
SUM(`col-2`) AS 'Col-2',SUM(`col-3`) AS 'Col-3',SUM(`col-4`) AS 'Col-4'
FROM
(SELECT `col-A`,`col-b`,0 AS 'col-c',`col-1`,`col-2`,`col-3`,`col-4` FROM table_3 UNION
SELECT 0,0,0,`col-1`,`col-2`,`col-3`,0 FROM table_2 UNION
SELECT `col-A`,`col-b`,`col-C`, 0,0,0,0 FROM table_1 ) XX
Поскольку в table_3 больше всего столбцов, я поставил его поверх объединения. Следующие запросы должны заполнить только 0
(ноль), если столбец отсутствует в таблице, чтобы выполнить требование объединения.