代码之家  ›  专栏  ›  技术社区  ›  Pablo

MySQL-在查询中将用户用户名映射到用户ID

  •  1
  • Pablo  · 技术社区  · 14 年前

    我做过一些复杂的SQL查询,但从未用多个值连接过两个表,我不确定这是否可行。

    我有以下两张表:

            users
            +-------+----------+
            | u_ID  | username |
            +-------+----------+
            |   1   |  Pablo   |
            +-------+----------+
            |   2   |   Mike   |
            +-------+----------+
    
    
            Messages
            +-------+----------+---------+
            | m_ID  | auhor_id | message |
            +-------+----------+---------+
            |   1   |     2    | Heelo5  |
            +-------+----------+---------+
            |   2   |     1    | he4532  |
            +-------+----------+---------+
            |   3   |     2    | he4111  |
            +-------+----------+---------+
            |   4   |     1    | he4538  |
            +-------+----------+---------+
    

        +-------+----------+---------+
        | m_ID  | username | message |
        +-------+----------+---------+
        |   1   |   Mike   | Heelo5  |
        +-------+----------+---------+
        |   2   |  Pablo   | he4532  |
        +-------+----------+---------+
        |   3   |   Mike   | he4111  |
        +-------+----------+---------+
        |   4   |  Pablo   | he4538  |
        +-------+----------+---------+
    
    3 回复  |  直到 14 年前
        1
  •  3
  •   wallyk    14 年前
    select m.m_ID, u.username, m.message
    from Messages m, users u
    where m. auhor_id = u.m_ID;
    

    您可能需要在WHERE子句中使用附加条件来指定 信息 记录。正如我所写的,所有的消息记录都会显示出来。

        2
  •  1
  •   Jon Black    14 年前
    select
     m.m_ID,
     u.username,
     m.message
    from
     users u
    inner join messages m on u.u_ID = m.author_id
    order by
     m.m_ID;
    
        3
  •  0
  •   Jaime    14 年前
    select m.m_ID, u.username, m.message 
    from messages m inner join users u on u.u_ID = m.auhor_id