Mysql加入用户表与朋友表

时间:2014-02-27 07:25:21

标签: mysql

我有两个表,一个是仅包含用户的表,另一个是朋友关系列表。我试图加入用户表的用户名列与朋友表中的朋友ID列。此外,我希望状态等于接受,所以我添加了一个where子句。现在它只输出列idUsers和用户名,但没有任何内容。

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 个答案:

答案 0 :(得分:2)

您已经使用错误的关系加入了表,varchar用户名如何等于整数id Users.Username =Friends.FriendID,将您的on子句更新为

ON Users.idUsers =Friends.FriendID

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

答案 1 :(得分:1)

你的加入应该由idUsers

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