1. Users 4 Cols
UserID - UserName - RealName - Flags
2. UsersGroups 2 Cols
UserID - GroupID
3. Groups 3 Cols
GroupID - GroupName - Flags
Điều tôi muốn làm là chọn Tên người dùng cụ thể là USERA và cập nhật cột cờ. nhưng tôi cũng muốn cập nhật cột Cờ trong bảng Nhóm thành cùng một giá trị.Lỗi tên cột mơ hồ, cách khắc phục sự cố?
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'
nhưng tôi tiếp tục nhận được: Tên cột mơ hồ 'Flags'.
nếu tôi làm Set Groups.Flags = @Var tôi nhận được: Msg 4104, Level 16, State 1, Line 1 Các đa phần nhận dạng "Groupy.Flags" không thể bị ràng buộc.
Những câu trả lời mà nói g.Flags sử dụng không đúng vì bạn không thể sử dụng một bí danh trong một phần của CẬP NHẬT ... bạn cần sử dụng Groups.Flags ... lỗi là vì khi bạn tham gia vào việc bị nhầm lẫn về việc có nên cập nhật Cờ từ Người dùng hoặc Nhóm –
@Chris hay không, tôi thường sử dụng bí danh bảng trong mệnh đề đã đặt, nhưng có các quy tắc cần tuân theo để cho phép điều đó. –
Tôi nhận được cùng một lỗi bất kể nếu tôi sử dụng g hoặc Groups ... – Alan