让两个表作为一个表

时间:2013-10-08 12:18:35

标签: sql oracle merge union

有没有办法让两个表作为一个表?我有两个相同的表,唯一的区别是一个包含最近的数据,另一个包含旧的数据。有没有办法做这样的事情?

select * 
  from customers a, 
       (rentals union archrentals) r
 where a.serno = r.custserno
   and r.rentaldate > YYYYMMDD;

2 个答案:

答案 0 :(得分:1)

为什么不创建这样的视图?

CREATE VIEW v_allRentals
AS
SELECT * form rentals
UNION ALL
SELECT * FROM archrentals

通过这种方式,您可以使用v_allRentals而无需担心每次创建一个忘记旧查询的查询。

谢谢, Mucio

答案 1 :(得分:0)

使用临时表

select * 

INTO #allcustomers

  from customers a, 
       (rentals union archrentals) r
 where a.serno = r.custserno
   and r.rentaldate > YYYYMMDD;

然后您可以使用temptable查询结果。