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

Table2 に存在しない行が Table1 にある場合は true を返します

SQLFiddle デモ

于 2013-10-10T07:10:26.063 に答える