Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 具有相同列名但ID不同的两个表的视图_Mysql - Fatal编程技术网

Mysql 具有相同列名但ID不同的两个表的视图

Mysql 具有相同列名但ID不同的两个表的视图,mysql,Mysql,我在MySQL t1和t2中有两个表。两者都有相同的列名。表t1有大量数据,t2与t1相比没有那么大,但在平均时间内,t2的大小也与t1相同。唯一的区别是两个表中的id列不匹配。我想从这些列中创建一个视图 我创造的是 CREATE VIEW vw_t1t2 AS SELECT id , name , lastname, depid FROM t1 Union SELECT id , name , lastname, depid FROM t2; 如果我执行查询“Select*from vw

我在MySQL t1和t2中有两个表。两者都有相同的列名。表t1有大量数据,t2与t1相比没有那么大,但在平均时间内,t2的大小也与t1相同。唯一的区别是两个表中的id列不匹配。我想从这些列中创建一个视图

我创造的是

CREATE VIEW vw_t1t2 AS  SELECT id , name , lastname, depid FROM t1
Union
SELECT  id , name , lastname, depid FROM t2;
如果我执行查询“Select*from vw_t1t2 where depid='100287'”


视图不能获取正确的数据,当搜索特定的部门ID时,数据是混合在所有记录上的,一些记录是不同的部门ID。执行查询也需要200秒。

< P>您可以考虑将联盟的结果包装为

SELECT * FROM
(
   SELECT id , name , lastname, depid FROM t1
   Union
   SELECT  id , name , lastname, depid FROM t2
) as sel1
WHERE depid = 2

但是让我们看看
EXPLAIN
输出以优化查询

,那么您想创建一个视图,仅在每个表上的id字段相同的地方?我只是想弄清楚这里到底是什么。你的问题是什么?视图没有获取数据,当我搜索特定的部门id时,数据是所有记录上的混合数据。对于查询优化,你能执行并在这里发布查询结果:
EXPLAIN SELECT id,name,…
Igor它有212条记录,你想让我发布数据吗?