【发布时间】:2020-01-22 12:33:43
【问题描述】:
UPDATE N SET [actType] = 'X'
FROM tableA N
WHERE NOT EXISTS (SELECT 1
FROM tableA O
WHERE O.clientCode = N.clientCode AND
O.[userName] = N.[userName] AND
O.[profile] = N.[profile] AND
O.[rankID] = N.[rankID] - 1
) AND
N.[rankID] NOT IN (SELECT MIN(T.[rankID])
FROM tableA T
WHERE T.[userName] = N.[userName]
)
【问题讨论】:
-
标记您正在使用的 DBMS。
-
请说明您要实现的逻辑。样本数据和期望的结果也有帮助。
-
这将取决于您拥有的数据和索引
-
嗨@Sai Kiran,我建议使用 CodeReview (codereview.stackexchange.com) 来解决有关优化工作代码的问题。 StackOverflow 主要用于非工作代码。希望这能有所帮助。
-
@Prebsus 可能,但不是当前形式。缺乏描述,没有上下文,也没有
EXPLAIN,我们无法按原样审查。
标签: sql sql-optimization