2011-08-18 37 views
-1

我需要查看兩個共享兩個變量的表,並獲取一個表中沒有匹配數據的表中的數據列表。例如:雙變量不在聲明中?

表A

的XName 日期 地點 xAmount

表B

yName 日期 地點 yAmount

我需要能夠編寫一個查詢,將檢查表A並查找表B中沒有對應條目的條目這是一個我可以用在聲明中的單變量問題,但我想不出用兩個變量來做這件事的方法。左連接也不會像你能做到的那樣出現。由於我們正在談論成千上萬的日期和數百個地名,因此由特定的日期或地點名稱來查看它將不起作用。

在此先感謝任何有幫助的人。

回答

0
SELECT TableA.Date, 
     TableA.Place, 
     TableA.xName, 
     TableA.xAmount, 
     TableB.yName, 
     TableB.yAmount 
FROM TableA 

LEFT OUTER JOIN TableB 
ON TableA.Date = TableB.Date 
AND TableA.Place = TableB.Place 

WHERE TableB.yName IS NULL 
OR TableB.yAmount IS NULL 
0
SELECT * FROM A WHERE NOT EXISTS 
(SELECT 1 FROM B 
WHERE A.xName = B.yName AND A.Date = B.Date AND A.Place = B.Place AND A.xAmount = B.yAmount) 
0
在ORACLE

select xName , xAmount from tableA 
MINUS 
select yName , yAmount from tableB