我希望两个选择查询的结果成为临时表中一行的不同列的数据。但不是第二行。
CREATE TEMPORARY TABLE t_temp_table
(SELECT U.c_user_id, UL.c_timestamp FROM t_user U INNER JOIN t_user_log UL ON U.c_user_id = UL.c_user_id GROUP BY U.c_user_id LIMIT 1)
UNION
(SELECT U.c_user_level_id, UL.c_task_id FROM t_user U INNER JOIN t_user_log UL ON U.c_user_id = UL.c_user_id GROUP BY U.c_user_id LIMIT 1)
我正在得到这个 enter image description here
c_user_id c_timestamp
1 2018-04-12 04:12:50
99 1
我希望将其作为一行
c_user_id c_timestamp c_user_level_id c_task_id
1 2018-04-12 04:12:50 99 1
答案 0 :(得分:0)
答案 1 :(得分:0)
在两个查询中,联接完全相同。连接条件和连接表相同。因此,您可以在一个查询中选择所有4列,而不用创建2个不同的查询,然后尝试合并结果
CREATE TEMPORARY TABLE t_temp_table
(SELECT U.c_user_id, UL.c_timestamp, U.c_user_level_id, UL.c_task_id FROM t_user U INNER JOIN t_user_log UL ON U.c_user_id = UL.c_user_id GROUP BY U.c_user_id LIMIT 1);