Sql server 2005 比较两种观点

Sql server 2005 比较两种观点,sql-server-2005,join,views,Sql Server 2005,Join,Views,我现在有两种观点得出了不同的结果。 一个在旧数据库中,另一个在新数据库中。 ond视图拉入约50000条记录,而新视图拉入约40000条记录 除了一列或两列之外,它们几乎都有相同的数据 有没有办法把两者结合起来,看看有什么不同 在查询和连接方面,我的知识有限 我尝试了左加入和右加入,但它给了我100000多个结果。我不想那样。我想要~50000个结果,在没有信息的地方让列为空 这可能吗?谢谢你可以试试这个: SELECT * FROM OldView EXCEPT SELECT

我现在有两种观点得出了不同的结果。 一个在旧数据库中,另一个在新数据库中。
ond视图拉入约50000条记录,而新视图拉入约40000条记录
除了一列或两列之外,它们几乎都有相同的数据

有没有办法把两者结合起来,看看有什么不同

在查询和连接方面,我的知识有限

我尝试了左加入和右加入,但它给了我100000多个结果。我不想那样。我想要~50000个结果,在没有信息的地方让列为空

这可能吗?谢谢你可以试试这个:

    SELECT * FROM OldView
EXCEPT
    SELECT * FROM NewView
您可以尝试以下方法:

    SELECT * FROM OldView
EXCEPT
    SELECT * FROM NewView

您可以尝试以下方法。首先使用左联接联接表,然后从新联接中过滤空值

像这样的

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

通过这种方式,您可以组合它们,并使用where语句过滤newview值。问题是,你先把它们组合起来,然后过滤它们

您可以尝试以下方法。首先使用左联接联接表,然后从新联接中过滤空值

像这样的

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

通过这种方式,您可以组合它们,并使用where语句过滤newview值。问题是,你先把它们组合起来,然后过滤它们

我有一个列在两个表中都被命名为不同的东西,我希望这些列并排出现。这证明是一个问题,因为它一直告诉我,在下一个视图中,其中一列无效,反之亦然。这有办法吗?谢谢视图的所有结果列必须具有唯一的名称。因此,您必须使用“As”重命名列,如
,OldView.Col1为oldCol1,
。我在两个表中有一个列的名称不同,希望将这些列并排排列。这证明是一个问题,因为它一直告诉我,在下一个视图中,其中一列无效,反之亦然。这有办法吗?谢谢视图的所有结果列必须具有唯一的名称。因此,您必须使用“As”将列重命名为oldCol1,,如
,OldView.Col1。