【问题标题】:Foreign Key explaination外键解释
【发布时间】:2019-03-19 08:27:00
【问题描述】:

ChatBox 表 - ID(FK),RoomID(FK),UserID(FK),Text,created_at

房间表 - ID(PK)、名称

用户表 - ID (PK)、名称、句柄

如何查询数据库显示

created_at、Text 和 Handle 用于特定 RoomID。 ?

例如 当我这样做时

SELECT created_at,TextA,UserID FROM ChatBox WHERE RoomID = 1 ORDER BY ID;

我得到 created_at、TextA 和 UserID 但我不知道如何切换 具有相应句柄的用户 ID 列。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    这是 JOIN 的工作。试试这个

     SELECT c.created_at, c.TextA, c.UserID, u.Handle
       FROM ChatBox c
       JOIN Users u ON c.UserID = u.ID
    

    JOIN 操作使关系型数据库管理系统名副其实关系型。你最好学习它并学会使用它。

    【讨论】:

    • 这是基于 RoomID 的值吗?
    • 如何在 phpmyadmin 上进行测试以确认查询?
    【解决方案2】:

    我想通了,

    SELECT created_at, TextA, userHandle FROM ChatBox INNER JOIN Users ON ChatBox.UserID = Users.userID WHERE RoomID = 1;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-08
      • 2011-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      相关资源
      最近更新 更多