MS SQL server 2008 r2無法綁定多部分標識符
試圖創建一個使用表變量的sql函數。當我嘗試創建函數時,它會一直拋出錯誤。它或者抱怨我需要聲明標量變量@LocationUpdate,或者如果我使用表別名LU,它會抱怨多部分標識符lu.ID無法綁定。
有人知道我在做什麼錯嗎?我有一個sql語句之前插入到表變量,它不會引發任何錯誤。我有一種感覺,我正在做一些愚蠢的事 - 顯而易見,但我沒有看到它。
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
並且也不要混合隱式和顯式連接。可能是他們嘗試使用問題中提到的別名不起作用的原因。 – 2012-01-06 19:27:25
今天我已經達到了聲望上限,所以,請明天再提醒我8-) – 2012-01-06 19:53:54
請復我,如果它仍然是你的意見8-) – 2012-01-07 05:32:13