Instruction de mise à jour qui ne comstack pas en utilisant un alias

Ceci est ma déclaration de mise à jour qui n'est pas compilée:

Update Documents d Set DocumentDate = 1, LastStatusChangedDateTime = ( Select Top 1 DATEADD(ss,1,StatusChangedDateTime) From [dbo].[DocumentStatusesHistory] dsh Where dsh.DocumentID = d.DocumentID ) Where DocumentID In ( Select Data From dbo.Split(@DocumentIDs,',') ) 

Je suis incapable d'utiliser d comme alias. Comment puis-je réparer cela?

Que dis-tu de ça?

  Update Documents Set DocumentDate = 1, LastStatusChangedDateTime = ( Select Top 1 DATEADD(ss,1,StatusChangedDateTime) From [dbo].[DocumentStatusesHistory] dsh Where dsh.DocumentID = d.DocumentID ) From Documents d Where DocumentID In ( Select Data From dbo.Split(@DocumentIDs,',') ) 

Ajouter une clause FROM :

 Update d Set DocumentDate = 1, LastStatusChangedDateTime = ( Select Top 1 DATEADD(ss,1,StatusChangedDateTime) From [dbo].[DocumentStatusesHistory] dsh Where dsh.DocumentID = d.DocumentID ) FROM Documents AS d ... 

Essaye celui-là :

 UPDATE d SET d.DocumentDate = 1 , d.LastStatusChangedDateTime = ( SELECT TOP 1 DATEADD(ss, 1, StatusChangedDateTime) FROM [dbo].[DocumentStatusesHistory] dsh WHERE dsh.DocumentID = d.DocumentID ) 

FROM Documents d WHERE d.DocumentID IN (SÉLECTIONNER datatables FROM dbo.Split (@DocumentIDs, ','))