Serveur MS SQL 2008 r2L'identificateur en plusieurs parties n'a pas pu être lié
Création d'une fonction SQL utilisant une variable de table. Il continue à lancer une erreur lorsque j'essaie de créer la fonction. Il se plaint soit que j'ai besoin de déclarer la variable scalaire @LocationUpdate, ou si j'utilise un alias de table LU il se plaint que l'identificateur de plusieurs parties lu.ID ne peut pas être lié.
Quelqu'un sait ce que je fais mal? J'ai une instruction sql avant celle-ci qui insère dans la variable de la table et ne jette aucune erreur sur celle-ci. J'ai le sentiment que je fais quelque chose de stupide - évident mais je ne le vois pas.
DECLARE @LocationUpdate TABLE (
[ID] [int] NOT NULL,
[FacilityName] [nvarchar](500) NULL,
[TrialUpdateID] [int] NOT NULL,
[StatusID] [int] NULL,
[City] [nvarchar](100) NULL,
[StateID] [int] NULL,
[Zip] [nvarchar](100) NULL,
[CountryID] [int] NULL,
[ContactName] [nvarchar](500) NULL,
[ContactPhone] [nvarchar](500) NULL,
[ContactPhoneExt] [nvarchar](500) NULL,
[ContactEmail] [nvarchar](500) NULL
)
SELECT @Return =
case when l.ContactFirstName +' ' +l.ContactLastName <> @LocationUpdate.ContactName then 1 else 0 END
+ CASE WHEN l.ContactEmail <> @LocationUpdate.ContactEmail THEN 1 ELSE 0 END
+ CASE WHEN l.ContactPhone <> @LocationUpdate.ContactPhone THEN 1 ELSE 0 END
+ CASE WHEN l.StatusID <> @LocationUpdate.StatusID THEN 1 ELSE 0 END
+ CASE WHEN l.Zip <> @LocationUpdate.Zip THEN 1 ELSE 0 END,
@Cleared = ISNULL(luh.Cleared, 0)
FROM @LocationUpdate lu, Location l
LEFT JOIN LocationUpdateHistory luh ON @LocationUpdate.ID = luh.idx
WHERE l.TrialID = @TrialID
AND l.City = @LocationUpdate.City
AND l.FacilityName = @LocationUpdate.FacilityName
Et ne se mélangent pas implicite et explicite des jointures. Peut-être la raison pour laquelle leur tentative d'utiliser un alias mentionné dans la question n'a pas fonctionné. –
J'ai frappé le chapeau de réputation pour aujourd'hui, donc, s'il vous plaît, révoquez-moi demain 8-) –
s'il vous plaît, revotez-moi, si elle encore votre opinion 8-) –