MYSQL - 创建视图以查询两个类似的表

时间:2017-10-01 21:36:48

标签: mysql sql

我必须喜欢表Order_Items和Order_Items_Archived,这两个表都是InnoDB。我想创建一个查询,我可以从两个订单中提取所有项目。我很确定我会用VIEW做到这一点,但我似乎无法找到只选择具有完全相同列名和列类型的所有记录的参考。

示例:

select sum(OrderItems_Amount)
from Order_Items_View
where OrderItems_OrderDate = '2017-10-01';

2 个答案:

答案 0 :(得分:0)

听起来你正在寻找union all运营商:

CREATE OR REPLACE VIEW order_items_view AS
SELECT * FROM order_items
UNION ALL
SELECT * FROM order_items_archived

答案 1 :(得分:0)

您将使用union all查询。我倾向于添加源代码。列出所需的列:

select col1, col2, col3, . . . , 0 as is_archive
from order_items
union all
selecct col1, col2, col3, . . ., 1
from order_items_archive;

您可以在查询之前添加create view语句,将其转换为视图。