mysql - 查询根据另一个从表中获取数据
问题描述
我在 MySQL 数据库中有两张表用于订单:
我还有另一个名为 users 的表:
我的查询是:
SELECT * FROM orders WHERE project_id=12
我想从订单表中获取所有数据,但将 added_by 列值替换为用户表中的名字,并将 edit_done_by 值替换为用户表中的名字。
解决方案
您正在描述两个join
s:
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
。
推荐阅读
- kubernetes - 我是否需要为 Kubernetes 中的每个微服务提供一个“K8s 服务”来进行内部服务通信?
- python - 从目录中的所有子文件夹中导入所有 Excel 文件
- typescript - 联合上的错误类型断言
- swift - 如何实现一个通用结构来管理 Swift 中 UserDefaults 的键值对?
- javascript - 请求循环完成后如何获得响应
- numpy - 如何在最小值和最大值之间找到缺失的数字
- object - 点表示法与括号表示法
- java - Android - 以编程方式更改应用程序区域设置
- php - 用于图像和文本字段的 laravel 帖子
- aws-lambda - 如何使用列表和地图创建 DynamoDB 表