首页 > 解决方案 > 查询根据另一个从表中获取数据

问题描述

我在 MySQL 数据库中有两张表用于订单:

订单表

我还有另一个名为 users 的表:

用户表

我的查询是:

SELECT * FROM orders WHERE project_id=12

我想从订单表中获取所有数据,但将 added_by 列值替换为用户表中的名字,并将 edit_done_by 值替换为用户表中的名字。

标签: mysqlsqlinner-join

解决方案


您正在描述两个joins:

select u.id, u.project_id, o1.name added_by, o2.name edit_done_by, u.date_created
from users u 
inner join orders o1 on o1.id = u.added_by     and o1.project_id = u.project_id
inner join orders o2 on o2.id = u.edit_done_by and o2.project_id = u.project_id
where u.project_id = 12

我不得不假设表之间的关系,它们也通过project_id


推荐阅读