J'ai le SQL ci-dessous et je veux mettre à jour le managerNTID
avec @managerNTID
seulement si l'enregistrement DB des utilisateurs a StopManagerOverride
valeur de 0, si elle est définie sur 1 sur l'enregistrement, alors je ne sais pas souhaitez mettre à jour ce champ:SQL Server 2005 mise à jour conditionnelle d'un champ
UPDATE ee
SET
MangerId = CASE ee.ShopManagerOverride
WHEN 0 THEN @MangerId
ELSE ee.MangerId
END
,ManagerNTID = CASE ee.ShopManagerOverride
WHEN 0 THEN @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
FROM dbo.Employees ee
Inner Join dbo.Employees e ON e.NTID = ee.NTID
WHERE ee.NTID = @NTID
Réflexions sur la façon de faire ce un champ dans la mise à jour ont une condition en ligne?
edit: je suis presque là, juste besoin de résoudre quelques colonnes ambiguës maintenant. mes yeux sont déjà rouges.
oui, parfait, mais il y a une erreur de syntaxe im essayant de fixer près de – kacalapy
merci pour l'aide – kacalapy
@kacalapy: oh, à droite - désolé, j'espère que ma mise à jour corrige cette erreur de syntaxe –