我需要在表上进行查询,并且在此查询中我想用相应的用户“ first_name”的值替换“ created_by”的值 因为一个用户可以enter image description here n创建另一个用户,所以我想返回创建者的真实姓名而不是其ID
我试图更深入地查询类型,但是有这么多,内部连接,外部连接,左连接,变量,.. 我不知道哪个概念是解决方案[在此处输入图片描述]
答案 0 :(得分:1)
您将在此表中执行一次内部联接:
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
换成您的实际表名,并可能将那些*
换成您希望从每个表中获得的实际字段。
答案 1 :(得分:0)
这应该由客户端代码而不是查询来处理,因为这会引起混乱。如果确实需要,则只需获取first_name列值,然后将其返回为create_by,如下所示:
通过FROM用户选择first_name AS create_by;