当表具有相同的结构时,如何使用视图跨越多个表

时间:2015-06-23 20:26:01

标签: sql sql-server view views

因此我们有一个接收常量输入的数据库,然后我们将它在x天后移动到另一个数据库作为一种归档/报告数据库。所以问题是当我尝试创建一个结合了两个表的视图时(每个数据库中有一个):

CREATE VIEW Table_Full AS SELECT * FROM [Front].dbo.[DATA] AS A Inner Join Back.dbo.DATA AS B ON A.DATETIME=B.DATETIME

我收到以下错误:"每个视图或函数中的列名必须是唯一的。专栏名称' PARTNO'在视图或功能' Table_Full'被指定不止一次。"

那么,有没有更好的方法来完成我想要做的事情?

2 个答案:

答案 0 :(得分:0)

而不是星号,您必须指定每个字段并为重复的字段名称提供别名:

CREATE VIEW Table_Full AS
 SELECT  
   a.ID as A_ID,
   b.ID as B_ID,
   a.Thingy as A_Thingy,
   a.Etcetera as Atcetera
 FROM [Front].dbo.[DATA] AS A
 Inner Join Back.dbo.DATA AS B
 ON A.DATETIME=B.DATETIME

答案 1 :(得分:0)

考虑到你的用例,我想你想要一个工会。那是

select * from table_a
Union all
Select * from table_b