2011-07-28 30 views
0

我有兩個表格,表示Table-ATable-B具有相同的表結構(意味着列數相同),並具有相同的主鍵值相同數量的記錄。如何獲得與其他表格比較後具有不同值的列數據?

它有Column-Id兩個表中的數據相同,但某些列值不同。

現在我想選擇查詢將返回僅在Tables-A具有不同的數據和那些列Table-B

例子:

Table-A 
ID Name RollNo Status 
1 Gourav 22  1 

Table-B 
ID Name RollNo Status 
1 Gourav 24  0 

輸出所需要的是:

Table-C 
Id RollNo-A RollNo-B sts-A sts-B 
1 22  24  1  0 

請建議。 請提供解決方案SQL 2000中

回答

1

這可能會實現。

SELECT  A.Id 
     , A.RollNo AS [RollNo_A] 
     , B.RollNo AS [RollNo_B] 
     , A.Status AS [Status_A] 
     , B.Status AS [Status_B] 
FROM  dbo.TableA A 
INNER JOIN dbo.TableB B 
ON   A.Id  = B.Id 
WHERE  A.RollNo <> B.RollNo 
OR   A.Status <> B.Status 
0

只是做,如果你確信兩者都ID必須在 兩個表存在於內連接。如果不使用左外部連接,則左表爲 父表。試試這個:

select a.id, a.rollno [rollno-A], b.rollno [rollno-B], a.status as [sts-A], b.status as [sts-B] from @tableA A INNER JOIN @tableB B ON a.id = B.id

相關問題