2012-09-15 41 views
0

我有兩個表與UserName字段有關係。根據UserName的列,我想從CarReserve表中獲得ID。這是我的SQL語句:在SQL中連接表時出錯

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

不幸的是,我得到這樣的警告:

不明確的列名「用戶名」

這裏誰能告訴我什麼是錯我的發言?

+1

對錶格使用別名。 –

回答

1

添加的表名前UserNameWHERE 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 
    ------^---------^---------------- 
1

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

我可能會建議你的表也使用別名。

1

你有別名username領域的WHERE子句中要明確合格:

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