php - LEFT JOIN 每次都为空
问题描述
我需要有关如何连接表的建议,以便始终显示产品名称和编号,即使其他表的值为零。它与这个时间顺序列表有关
也许我走错了路,我应该在 PHP 中寻找解决方案。
我需要查看每天和特定时间的项目数量,以便查看可用或不可用的状态。
解决方案
将where
条件放入join
SELECT p.name, p.quantity, p.input as input, p.price as price, SUM(ifnull(i.quantity,0)) as count
FROM product p
LEFT JOIN order_items i ON p.id = i.product_id
LEFT JOIN orders o ON o.id = i.order_id
AND `o`.`date` = '2020-05-20'
AND `o`.`time_start` = '11:30:00'
AND `o`.`time_end` = '12:30:00'
GROUP BY p.name
否则你的where
条款会把你left join
变成一个inner join
推荐阅读
- c# - C#:我如何在完成播放后关闭我的视频闪屏
- typescript - 为什么打字稿 aws-cdk init-template 将其应用程序包含在 bin 目录中并作为二进制文件包含在 package.json 中?
- ubuntu - 如何解决在 Linux 上安装 Minikube for Kuberntes 的错误
- javascript - Laravel 销毁嵌套资源
- python - 属性错误“float”对象没有指定为对象的列的属性“split”
- vue.js - Vue:在子组件上使用 v-for?
- sqlite - 如何将json数据存储在sqlite中并在flutter/dart中读取?
- .net - 从 IIS 上的 Datadog 自动跟踪检测中排除站点
- javascript - jsDoc - 不要排除标记为 @private 的方法
- bash - Grep 在 bash 文件中运行时返回换行符,但应返回空