sql >> Database >  >> RDS >> Sqlserver

Een update met meerdere voorwaarden. SQL 2008

U kunt erachter komen welke gebruiker de hoogste prioriteit heeft door row_number() . te gebruiken . Met SQL Server kunt u dit doen in een bij te werken CTE, dus de query ziet er als volgt uit:

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. mysql datatype voor telefoonnummer en adres

  2. Hoe regexp te gebruiken op de resultaten van een subquery?

  3. Verwerkingsdatum in SQL Server

  4. Records uitsluiten als de rechtertabel overeenkomt