我需要对表进行查询,并在此查询中我想替换 corsspende 用户“first_name”的值中的“created_by”值 因为一个用户创建了另一个用户,所以我想返回创建者的真实姓名而不是他的 ID
我试图更深入地了解查询类型,但查询类型太多了,内连接、外连接、左连接、变量,.. 我不知道哪个概念是解决方案[在此处输入图像描述]
最佳答案
您将从该表执行 INNER JOIN 返回自身:
SELECT users.*, createdby.*
FROM yourtable users
INNER JOIN yourtable createdby
ON users.created_by = createdby.id
为了做到这一点,FROM
子句中的每个表都会获得一个别名。第一次使用它时,我将其称为 users
,第二次我将其称为 createdby
。这使得 SQL 的其余部分很明显正在引用哪个表以及原因。
我们将第一个表的created_by
连接到第二个表的id
。本质上,第二个表包含 created_by
用户的属性。
您只需将 yourtable
替换为您的实际表名称,并可能将这些 *
替换为您想要从每个表中获取的实际字段。
关于mysql - 有没有复杂的select查询来解决这个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55457592/