【发布时间】:2015-07-11 09:31:31
【问题描述】:
我有两个表(MYSQL)包含不同的列名,我想查询表 1 中的所有数据以及表 2 中不存在于表 1 中的所有数据
数据如下: 表一
Ref Desc Price
A TEXT1 12
B TEXT2 10
C TEXT3 5
表 2:
Code Desc Price
A TEXT1 7
B TEXT2 10
D TEXT4 2
我希望结果是这样的:
Ref Desc Price
A TEXT1 12
B TEXT2 10
C TEXT3 5
D TEXT4 2
所以我试图做出这样的看法:
CREATE OR REPLACE VIEW `partsquery` AS
SELECT table1.Ref AS reference,
table1.Desc AS description,
table1.Price AS price
FROM table1
UNION ALL
SELECT t2.code AS Ref,
t2.Desc AS description,
t2.price AS price
FROM
table2 AS t2
LEFT JOIN table1 AS t1
ON
t2.Code = t1.Ref
WHERE t1.Ref Is Null;
这个视图给了我我想要的,但实际上它很慢,因为我有大数据。那么还有其他方法可以得到我的结果吗?!
【问题讨论】: