我正在尝试创建一个临时表,其中有两个字段(user,pass),这是三个表的组合
TABLES
agents
username | password
clients
username | password
admin
username | password
我希望他们的字段中的数据存储到临时表
TEMPORARY TABLE
temp_tbl
username | password
这是我的MySQL查询(我知道这是一种错误的语法)
CREATE TEMPORARY TABLE temp_tbl ENGINE=MEMORY
AS (SELECT username,password FROM agents UNION SELECT username,password FROM clients UNION SELECT username,password FROM admin) AS col1, col2;
答案 0 :(得分:2)
您的查询应该如下所示。根据MySQL文档,您也可以使用CTAS
构造来创建temporary
表。
CREATE TEMPORARY TABLE temp_tbl
AS (SELECT username, password FROM agents
UNION
SELECT username, password FROM clients
UNION
SELECT username, password FROM admin);
答案 1 :(得分:1)
onResourceReceived
答案 2 :(得分:1)
非常接近
CREATE TEMPORARY TABLE temp_tbl ENGINE=MEMORY
AS SELECT * FROM
(SELECT username,password FROM agents
UNION SELECT username,password FROM clients
UNION SELECT username,password FROM admin) AS t1;
您必须将这三个联合包装在另一个SELECT中,并且需要为该派生表提供别名。只有一个名字,请不要两个(t1而不是col1,col2)
除非你按照我的方式将整个事情包装成另一个查询,否则会出现语法错误。