SQL Server 2005 conditional update of a field -
i have sql below , want update managerntid @managerntid if users db record has stopmanageroverride value of 0, if set 1 on record don't want update field:
update ee set mangerid = case ee.shopmanageroverride when 0 @mangerid else ee.mangerid end ,managerntid = case ee.shopmanageroverride when 0 @managerntid else ee.managerntid end ,ntid = @ntid ,firstname = @firstname ,lastname = @lastname ,fullname = @fullname ,reportinggroup = @reportinggroup ,distinguishedname = @distinguishedname ,isactive = 1 --,stopmanageroverride= 1 ,lastupdate = getdate() ,updateby = @updateby dbo.employees ee inner join dbo.employees e on e.ntid = ee.ntid ee.ntid = @ntid thoughts on how make 1 field in update have inline condition?
edit: there, need resolve ambiguous columns now. eyes red already.
you try - if shopmanageroverride set 1, update parameter value passed in, otherwise update value has (i'm assuming field managerid - not mangerid - right??):
update dbo.employees set managerid = @managerid, managerntid = case e.shopmanageroverride when 1 @managerntid else e.managerntid end, ntid = @ntid, firstname = @firstname, lastname = @lastname, fullname = @fullname, reportinggroup = @reportinggroup, distinguishedname = @distinguishedname, isactive = 1, lastupdate = getdate(), updateby = @updateby dbo.employees e e.ntid = dbo.employees.ntid , dbo.employees.ntid = @ntid untested, straight , "free hand" brain - hope got syntax right! try - work, you're looking for??
Comments
Post a Comment