sql server 2008中的内连接

时间:2013-07-27 10:49:58

标签: sql-server-2008

我想从3个表中选择值,我正在使用内部联接,我正在使用以下查询

  SELECT 
    UserDetail.UserId 'userId', 
    FirstName  'name',  
    Name 'role' 
    FROM UserDetail as ud 
       inner join UserRole as ur ON ud.UserId = ur.UserId 
       inner join [Role] as r ON r.RoleId=ur.RoleId 
       WHERE Username = @username and [Password] =@password 

它显示以下错误:无法绑定多部分标识符UserId(UserDetail.UserId)。任何人都可以告诉我我在做什么错。感谢

2 个答案:

答案 0 :(得分:1)

UserDetail.UserId替换为ud.UserId。如果您在UserDetail as ud子句中使用别名(FROM),则必须在其他地方使用相同的别名。

答案 1 :(得分:0)

UserDetail.UserId替换为ud.UserId

<强>即:

SELECT 
    ud.UserId 'userId', 
    FirstName  'name',  
    Name 'role' 
    FROM UserDetail as ud 
       inner join UserRole as ur ON ud.UserId = ur.UserId 
       inner join [Role] as r ON r.RoleId=ur.RoleId 
       WHERE Username = @username and [Password] =@password