gpt4 book ai didi

mysql - 检索 2 个不同用户在 2 个不同事物上的用户名

转载 作者:行者123 更新时间:2023-11-29 14:35:54 25 4
gpt4 key购买 nike

我正在尝试编写自己的论坛系统的代码,一切进展顺利,除了一件事。

浏览类别时,如何检索每个线程的创建者的用户名以及在每个线程中发布最后一篇帖子的用户的用户名?

这是我到目前为止所拥有的,但我仍然只检索 1 个用户名(OP 的用户名)。

SELECT 
c_name, <-- category name
t_title, <-- thread title
t_by, <-- thread started by user id
username, <-- username of the thread starter
p_by, <-- post by user id
p_date, <-- post posted date
COUNT(p_id) as total_posts
FROM
forum_categories
LEFT JOIN
forum_threads
ON
t_cat = c_id
LEFT JOIN
forum_posts
ON
p_thread = t_id
LEFT JOIN
users
ON
t_by = id
AND
p_by = id
WHERE
t_cat = 1

如您所见,我只检索线程发起者的用户名。是否可以通过单个查询来完成此操作?

谢谢

最佳答案

您应该在查询中为两个用户保留连接:

SELECT 
c_name, <-- category name
t_title, <-- thread title
t_by, <-- thread started by user id
ut_by.username, <-- username of the thread starter
p_by, <-- post by user id
up_by.username, <-- username of the post
p_date, <-- post posted date
COUNT(p_id) as total_posts
FROM
forum_categories
LEFT JOIN
forum_threads
ON t_cat = c_id
LEFT JOIN
forum_posts
ON p_thread = t_id
LEFT JOIN
users ut_by
ON t_by = ut_by.id
LEFT JOIN
users up_by
on p_by = up_by.id
WHERE
t_cat = 1

这是关于获取两者的用户详细信息的答案。关于此查询可能包含的其他错误的免责声明。

关于mysql - 检索 2 个不同用户在 2 个不同事物上的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9057197/

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