0

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

你能告诉我是否有一个好的方法来做到这一点?

4

1 回答 1

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 演示

于 2013-10-10T07:10:26.063 回答