我正在尝试创建一个临时表,其中包含来自两个查询的返回数据。这是我试过的
CREATE TEMPORARY TABLE IF NOT EXISTS tmp AS (
SELECT * FROM (`users`) WHERE `v1` = 1
UNION
SELECT * FROM (`users`) WHERE `v2` = 1
)
select * from tmp;
以下是我得到的结果
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNION
答案 0 :(得分:2)
试试这个
CREATE TEMPORARY TABLE IF NOT EXISTS tmp AS
SELECT * FROM (`users`) WHERE `v1` = 1
UNION
SELECT * FROM (`users`) WHERE `v2` = 1
;
select * from tmp;
答案 1 :(得分:0)
这会奏效。请试试。这只是语法。请相应地更新您的查询。
create temporary table tmp
select * from
(
(select * from users)
UNION
(select * from users)
) bt;
SELECT * FROM tmp;