gpt4 book ai didi

php - 如何连接3个数据不同的表?

转载 作者:行者123 更新时间:2023-11-29 12:27:10 25 4
gpt4 key购买 nike

我不太擅长解释事情,抱歉。

我有 3 个与下面类似的表:

users
id
username
threads
id
title
user_id
lastpost_id
posts
id
content
thread_id
user_id

在列出论坛主题的页面上,我希望显示该主题的作者的用户名以及该主题的最后一个帖子作者,我试图在单个查询中实现此目的。

我的查询如下所示:

SELECT t.*,u.username FROM threads t
INNER JOIN users u ON t.user_id=u.id
INNER JOIN posts p ON t.lastpost_id=p.id
ORDER BY t.id DESC

第一个连接使我能够获取启动线程的用户 ID 的用户名。

第二个连接是我不确定的,它可以为我获取用户 ID,但作为第三个连接,我如何从中获取用户名?

最佳答案

如果为同一表指定不同的别名,则可以多次选择该表。您也可以为字段指定别名:

SELECT 
t.*,
tu.username as threadusername, /* Result field is called 'threadusername' */
p.*,
pu.username as lastpostusername
FROM threads t
INNER JOIN users tu ON t.user_id=tu.id /* thread user */
INNER JOIN posts p ON t.lastpost_id=p.id
INNER JOIN users pu ON p.user_id=pu.id /* post user */
ORDER BY t.id DESC

关于php - 如何连接3个数据不同的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28130601/

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