2013-10-10 92 views
0

我有一個問題在SQL適當做這個交易:如果EXISTS(SELECT 1 FROM#tempTable1)AND NOT EXISTS(SELECT 1 FROM#tempTable2哪裏...)

If exists(SELECT 1 FROM #tempTable1 table1) AND NOT EXISTS (SELECT 1 FROM #tempTable2 table2 where table2.id = table1.id) 
BEGIN 
    SELECT...... 
END 
ELSE..... 

我試試這個太沒有成功:

IF EXISTS (SELECT 1 FROM #tempTable1) 
BEGIN 
    SELECT * FROM #tempTable1 table1 
    IF NOT EXISTS (SELECT 1 FROM #tempTable2 where id = table1.id) 
    BEGIN 
    ..... 
    END 
END 
ELSE.... 

你能告訴我,如果有一個很好的方法來做到這一點?

+2

應該是什麼邏輯在你的話背後呢? –

回答

0

也許這樣的事情是你想要什麼:

If EXISTS (SELECT 1 FROM #tempTable1 table1 
      WHERE NOT EXISTS (SELECT 1 FROM #tempTable2 table2 
           WHERE table2.id = table1.id)) 

BEGIN 
.. 
END 

返回true,如果有在表1的行其不存在於表2

SQLFiddle DEMO

相關問題