Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

कई शर्तों के साथ एक अद्यतन। एसक्यूएल 2008

आप 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;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सी # से एसक्यूएल सर्वर को लिखना, कोई त्रुटि वापस नहीं आई

  2. प्रबंधन स्टूडियो की स्थापना को कैसे बाध्य करें?

  3. एसक्यूएल स्थानिक बहुभुज अंदर बाहर

  4. बल्क इंसर्ट एसक्यूएल सर्वर के साथ मज़ा - निर्दिष्ट कोडपेज के लिए बेमेल या अमान्य वर्ण टाइप करें

  5. समग्र प्राथमिक कुंजी एसक्यूएल संबंध