gpt4 book ai didi

mysql - SQL 匹配来自不同列的 ID 及其各自的用户名

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

我有一个包含列 user_id 和 lastreply_by_user_id 的表,我正在寻找一种方法来将它们的列与用户表中的用户名与 id 匹配。

SELECT
table_threads.*,
table_users.username
FROM
threads AS table_threads
INNER JOIN users as table_users ON table_threads.user_id = table_users.id
OR table_threads.lastreply_by_user_id = table_users.id
WHERE
table_threads.category_id = :category_id

这是我现在拥有的代码,但此时会创建重复的条目而不是合并的条目。

最近刚开始使用 SQL,发现 JOIN 命令可能不正确,只是为我指明了正确的方向,我将不胜感激。

最佳答案

您需要两个连接到同一个 user 表:一个通过 user_id 连接,另一个通过 lastreply_by_user_id 连接。使用表别名来消除歧义:

SELECT
t.*,
u.username as user_name,
r.username as last_reply_name
FROM
threads AS t
INNER JOIN users as u ON t.user_id = u.id -- actual user
INNER JOIN users as r ON t.lastreply_by_user_id = r.id -- reply user
WHERE
table_threads.category_id = :category_id

关于mysql - SQL 匹配来自不同列的 ID 及其各自的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49779197/

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