php - MySQL Join - 连接两个表并将结果显示为第三个表的列
问题描述
我有 3 个具有以下结构的表!
Delivery_Boy : id(PK), 日期, 时间, 评论, order_id ,
Order_history : order_history_id(PK), order_id , order_status_id ,
Order_status : order_status_id(PK) , status_name
要求: Delivery_boy 表包含每个具有唯一 order_id 的订单。但 order_status_id 或 Status_name 在此表中不可用。
我想加入 order_history 和 order_status 表,以便它们为相应的 order_status_id 生成 status_name 并将其显示为 delivery_boy 表中的列。
目前我的代码是:
public function getOrder($username) {
$query = $this->db->query("SELECT date, time, oh.order_id, oh.comment, os.order_status_id AS status FROM delivery_boy oh LEFT JOIN ". DB_PREFIX . "order_history os ON oh.order_id = os.order_id WHERE name = '" . $this->db->escape($username) . "'");
return $query->rows;
}
我得到如下图所示的结果:它只显示 status_id,而不是 status_name。
解决方案
推荐阅读
- php - Laravel Throttle 中的:秒到:小时?
- c# - 发生异常:CLR/System.InvalidOperationException
- asp.net-core-webapi - .net 核心中的本地文件上传 API 正在工作,但在 Azure 中不起作用
- webgl - 片段着色器 Webgl 错误:0:7:'return':函数返回与类型不匹配:
- javascript - 在 React 中每个会话显示一次模态
- three.js - 如何使用useDrag钩子旋转三个js中的对象
- keycloak - 我们可以在 Keycloak 中为只读用户联合设置两个非 XA 数据源吗?
- reactjs - 通过 Firebase 处理电子邮件 API 请求
- python - 2 个月 UNIX 时间戳
- python - 仅从 dict 中提取键及其重复值并放入另一个