我很难从加入这两个表中提取用户 ID。
我的目标是找到超过 200 的所有假期余额和所有事件的用户 ID,但我一直为用户 ID 获取一个不明确的列名称。
如果我尝试提取任何其他内容,我的查询确实有效,但我想改为提取 UserID。对我的查询的任何帮助将不胜感激。
这是我的表及其列:
表用户
ID (PK)
UserID
Firstname
Lastname
Email
Active (Bool)
表余额
UserID (PK)
VacationBalance
这是我的查询:
SELECT UserID FROM dbo.VacBal as I join dbo.User as T
on I.userid = T.userid
WHERE VacationBalance > 200 and active = 1
这是我得到的错误:
Msg 209, Level 16, State 1, Line 1 Ambiguous column name 'userid'.
最佳答案
因为每个表都包含一个 UserID
列,您需要指定您想要的 UserID
通过在 SELECT
中包含表别名来实现陈述:
v
SELECT T.UserID FROM dbo.VacBal as I join dbo.User as T
on I.userid = T.userid
WHERE VacationBalance > 200 and active = 1
关于sql-server - "Ambiguous column name"加入表时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31193354/