在SQL中连接表时出错

时间:2012-09-15 15:25:58

标签: c# asp.net sql

我有两个与UserName字段有关系的表。根据{{​​1}}列,我想从UserName表中获取ID。这是我的SQL语句:

CarReserve

不幸的是,我收到了这个警告:

  

不明确的列名“UserName”

这里的任何人都可以告诉我我的陈述有什么问题吗?

3 个答案:

答案 0 :(得分:1)

您忘了添加aspnet_users。在where子句中的用户名之前。

我也建议您为表格使用别名。

答案 1 :(得分:1)

UserName

中的WHERE UserName = @UserName之前添加表名

您的查询应该是:

SELECT CarReserve.ID 
    FROM CarReserve 
    INNER JOIN aspnet_Users ON CarReserve.UserName = aspnet_Users.UserName 
    WHERE aspnet_Users.UserName = @UserName
    ------^-----------^----------------

或者

SELECT CarReserve.ID 
    FROM CarReserve 
    INNER JOIN aspnet_Users ON CarReserve.UserName = aspnet_Users.UserName 
    WHERE CarReserve.UserName = @UserName
    ------^---------^----------------

答案 2 :(得分:1)

您必须将username子句中的WHERE字段别名为明确限定:

SELECT CarReserve.ID 
FROM CarReserve 
INNER JOIN aspnet_Users ON CarReserve.UserName = aspnet_Users.UserName 
WHERE aspnet_Users.UserName = @UserName