Mysql 具有相同列名但ID不同的两个表的视图
我在MySQL t1和t2中有两个表。两者都有相同的列名。表t1有大量数据,t2与t1相比没有那么大,但在平均时间内,t2的大小也与t1相同。唯一的区别是两个表中的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
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条记录,你想让我发布数据吗?