1. Users 4 Cols
UserID - UserName - RealName - Flags
2. UsersGroups 2 Cols
UserID - GroupID
3. Groups 3 Cols
GroupID - GroupName - Flags
我想要做的是選擇一個特定的用戶名即USERA並更新Flags列。但我也想將Groups表中的Flags列更新爲相同的值。不明確的列名錯誤,我該如何解決?
UPDATE dbo.Users
SET Flags = @var
WHERE UserName = 'UserA'
UPDATE dbo.Groups
SET Flags = @var
FROM dbo.Users u INNER JOIN dbo.UsersGroups ug ON u.UserID = ug.UserID
INNER JOIN dbo.Groups g ON g.GroupID = ug.GroupID
WHERE u.UserName = 'UserA'
但我不斷收到:不明確的列名'Flags'。
,如果我做集Groups.Flags = @var 我得到: 消息4104,級別16,狀態1,行 多部分標識符 「Groupy.Flags」 無法綁定。
是說使用g.Flags是不正確的,因爲你不能在UPDATE的那部分使用別名的答案......你需要使用Groups.Flags ...這個錯誤是因爲當你進行連接時,它對於是否更新用戶或組中的標誌 – 2009-07-16 15:05:21
@Chris感到困惑,我經常在set子句中使用表別名,但是要遵循的規則以允許這一點。 – 2009-07-16 15:07:01
無論使用g還是Groups,我都會得到相同的錯誤... – Alan 2009-07-16 15:08:28