列是否不同?如果是这样,只需将它们填充为空:
select a, b, c, null as d from t1 union all
select a, b, c, null as d from t2 union all
select a, b, c, null as d from t3 union all
select a, b, c, null as d from t4 union all
select a, null as b, null as c, d from t5 union all
select a, null as b, null as c, d from t6 union all
select a, null as b, null as c, d from t7