我将以下结果存储在临时表中 #tempResult
SourceGuid SourceTypeID IsSelected
-------------------- -------------------- ----------
84588BAF068320450908 129 0
5367D0F80A0F4040E909 658 0 <
872791440CDBE04F7C0B 658 0 <
15ABA6B70E4A70463E0B 887 0
1DE39F9805A8A044B20B 887 0
3F96C93501144041D50A 887 0
6A01DFF705861049F509 887 0
我需要将IsSelected值设置为仅1的值,而不是将所有标记<
为1的记录都设置为1,而不考虑其他任何条件,只是SourceTypeID = 658
谢谢,我怎样才能做到这一点。
您可以使用CTE
获取TOP 1
,然后执行UDPATE
:
;WITH CTE AS(
SELECT TOP (1) *
FROM #tempResult
WHERE SourceTypeId = 658
ORDER BY NEWID()
)
UPDATE CTE SET IsSelected = 1
ORDER BY NEWID()
表示随机排序。替换NEWID()
为您要TOP
基于的列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句