【问题标题】:Mysql Join Users Table with Friends TableMysql 将用户表与好友表连接起来
【发布时间】:2014-02-27 07:25:21
【问题描述】:

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

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 |
       +--------+----------+----------+

【问题讨论】:

    标签: mysql


    【解决方案1】:

    你已经加入了你的表与错误的关系如何一个 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' 
    

    【讨论】:

      【解决方案2】:

      您的加入应该由 idUsers

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

      【讨论】:

        猜你喜欢
        • 2014-05-31
        • 2012-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-25
        相关资源
        最近更新 更多