Aqui está uma solução alternativa:
CREATE TABLE AS
SELECT *
FROM (
SELECT ...
UNION ALL
SELECT ...
) AS foo
Você não pode fazer a união diretamente para a
create table
, mas você pode torná-lo uma sub-seleção:mysql> create table foo as (select * from ((select 'foo') union all (select 'bar')) as foo);
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0