无法使用 UNION ALL 创建新表

Sam*_*ria 2 mysql union

SQL执行这段代码(t1和t2具有相同的结构)

 SELECT * FROM `t1` UNION ALL SELECT * FROM `t2`
Run Code Online (Sandbox Code Playgroud)

但不是这个:

CREATE TABLE `test` AS (
SELECT * FROM `prospects-non-clients-valid-quote-images-solo` 
UNION ALL
SELECT * FROM `prospects-non-clients-valid-quote-images-duet` )
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

“1064 - 您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在t2第 3 行的“UNION ALL SELECT * FROM )”附近使用的正确语法

我缺少什么?感谢您的帮助!

Gur*_*ngh 5

假设 UNION ALL 有效,请使用SELECT * from外部:

CREATE TABLE `test` AS select * from (
SELECT * FROM `prospects-non-clients-valid-quote-images-solo` 
UNION ALL
SELECT * FROM `prospects-non-clients-valid-quote-images-duet`) t
Run Code Online (Sandbox Code Playgroud)

我建议您在查询中显式指定列名,而不是像*表模式那样随时间变化。