2014-02-27 46 views
0

我兩個表中的一個表是一個正好用戶另一個是朋友關係列表。我試圖加入用戶表的用戶名列與Friends表中的FriendID列。另外我希望地位等於接受,所以我添加了where子句。現在它只輸出idUsers和Username這兩列,但沒有任何內容。Mysql加入用戶表與朋友表

SELECT idUsers, Username FROM Users INNER JOIN `Friends` on Users.Username = 
Friends.FriendID WHERE Status = 'Accepted' 

       Users Table 

+---------+----------+----------+------------+ 
| idUsers | Username | Password | OrderGroup | 
+---------+----------+----------+------------+ 
|  1 | test  | test  |  NULL | 
|  2 | test2 | test  |  NULL | 
+---------+----------+----------+------------+ 

       Friends Table 

     +--------+----------+----------+ 
     | UserID | FriendID | Status | 
     +--------+----------+----------+ 
     |  1 |  2 | Accepted | 
     +--------+----------+----------+ 

回答

2

您已加入你的表錯關係的VARCHAR用戶名怎麼可以等於整數ID Users.Username =Friends.FriendID,在條款更新到

ON Users.idUsers =Friends.FriendID

SELECT 
    idUsers, 
    Username 
FROM 
    Users 
    INNER JOIN `Friends` 
    ON Users.idUsers = Friends.FriendID 
WHERE `status` = 'Accepted' 
1

你應由idUsers加入

SELECT idUsers, Username FROM Users INNER JOIN Friends on Users.idUsers = 
Friends.FriendID WHERE Status = 'Accepted'