2012-08-02 105 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