2012-08-02 103 views
0

我目前有两个视图正在拉动不同的结果。 一个在旧数据库中,另一个在新数据库中。
ond视图拉入〜50000条记录,而新视图拉入〜40000
除了一列或两列外,两者几乎都具有相同的数据。比较两个视图

有没有一种方法可以将两者结合起来,看看有什么不同?

当谈到查询和连接时,我有限制的知识。

我试着左连接和正确的加入,但它给了我100000+结果。我不想那样。我想要50000个结果,并且在没有信息的地方将列设置为null。

这可能吗?感谢

回答

2

你可以尝试以下。首先用左连接来连接表格,然后过滤新的空值。

像这样

select * 
from oldview o 
     left join newview n 
      on o.field = n.field 
where n.value is null 

你将它们结合起来,并有与where语句过滤NewView的值的方式。事情是,你先把它们合并起来,然后过滤它们。

3

你可以试试这个:

SELECT * FROM OldView 
EXCEPT 
    SELECT * FROM NewView 
+0

我有一列在两个表上命名为不同的东西,并且希望并排存在这些列。这证明是一个问题,因为它不断告诉我其中一列无效,反之亦然,下一个视图。有没有解决的办法?谢谢! – user1512593 2012-08-02 15:16:22

+0

视图的所有结果列必须具有唯一的名称。所以你必须使用“As”重命名列,像',OldView.Col1 As oldCol1,'。 – RBarryYoung 2012-08-02 15:29:04