我必须使用条件更新行,其中消息ID将是唯一的。 我如何编写相同的查询。 我的意思是说如果消息id是唯一的,那么只有行必须更新,并且表中名为flag的列必须更新为“1”。 该表是临时表,因此该值不会存储在同一个表中。 update语句也在存储过程结束时执行。 基本上它被用作记录更新一次不应该在下一次运行中出现。
对于Ex:
Update table [Tablename ] set FLAG='1' where messageID =' message id has to be unique'.
答案 0 :(得分:1)
尝试这样的事情
;WITH cte
AS (SELECT Count(1)OVER(partition BY messageID) AS cnt,*
FROM [Tablename])
UPDATE cte
SET FLAG = '1'
WHERE cnt = 1
Count(1)OVER(partition BY messageID)
将返回表格中每个messageID
的计数。当计数为flag
时,更新1