Sql Query从更新中选择未更新的记录

时间:2013-06-28 20:26:58

标签: sql sql-server select

我正在使用Sql server 2012

只是好奇是否有办法做这样的事情......

我的更新查询类似于

UPDATE a 
SET a.TowerNumber=b.SiteNumber
FROM tower a 
INNER JOIN sites  b 
ON a.sitenumber = b.sitenumber

在ON行之后我想做什么就像

EDIT **select records that did not match the ON statement**

提前致谢

2 个答案:

答案 0 :(得分:2)

此查询返回更新未触及的所有行,因为未满足ON(加入)条件。

SELECT *
  FROM tower
 WHERE sitenumber NOT IN
     (SELECT sitenumber
       FROM sites)

答案 1 :(得分:0)

我认为您可以尝试使用INSTEAD OF触发器,然后使用DELETED表。它应该包含在更新操作期间更新的行,因此您正在查看的是初始表中的其余行(从表中选择不在DELETED表中的行)