gpt4 book ai didi

php - 具有 2 个表连接的 MySQL 查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:23 24 4
gpt4 key购买 nike

我有这样的用户:

id    username
1 user1
2 user2
3 user3

和这样的消息:

t_id   sent_by   id    msg
1 2 1 whatever
2 3 1 is
3 2 1 here

其中 users.id 是主键,msgs.id 是外键。在 msgs 表中,idsent_by 发送的消息的目的地。

我想选择并显示 sent_by用户名,只要登录用户(通过 session )是 msgs.id .

为了澄清事情,这里是我想做的伪代码:

  1. 用户已登录。将其 userid 存储到 session
  2. 显示向我(登录用户)发送消息的不同用户名。在上面的示例中,如果我的用户 ID 为 1,则显示将是:user2, user3

我正在考虑使用 join,但最终对 sent_by 和 id 进行了 2 次查询。这似乎不是一个有效的查询。

我该怎么办?

最佳答案

这是一个简单的 JOIN,因为您只希望返回 sent_by id 的用户名。

$sql = "SELECT DISTINCT
users.username
msgs.sent_by
FROM users JOIN msgs ON users.id = msgs.sent_by
WHERE id = {$_SESSION['my_userid']}";

关于php - 具有 2 个表连接的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com