आप row_number()
. का उपयोग करके यह पता लगा सकते हैं कि किस उपयोगकर्ता की सर्वोच्च प्राथमिकता है . SQL सर्वर आपको इसे एक अद्यतन योग्य CTE में करने देता है, इसलिए क्वेरी इस तरह दिखती है:
with toupdate as (
select t.*,
row_number() over (partition by projectid
order by (case when userid = 1 then 1
when userid = 2 then 2
when userid = 3 then 3
else 4
end
)
) as PriorityForLead
from table t
)
update toupdate
set RoleId = 11
where PriorityForLead = 1;