如果EXISTS(SELECT 1 FROM#tempTable1)和NOT EXISTS(SELECT 1 FROM#tempTable2 where ...)

时间:2013-10-10 06:54:09

标签: sql

我在SQL中正确执行此事务时遇到问题:

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....

请告诉我是否有一个好方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

也许这就是你想要的东西:

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

BEGIN
..
END

如果Table1中存在Table2中不存在的行

,则返回true

<强> SQLFiddle DEMO