mysql - 选择没有佣金的地方
问题描述
我有 2 张桌子。
- account_receivables
- 佣金
account_receivables
有很多佣金
commissions
对 有一个外键account_receivables_id
。
我的应用程序的工作方式是,当account_receivables
获得插入时,它还会计算一组销售代表的佣金,基于account_receivables.amount
.
有 2 个月的时间,它随机错过了 1 名销售代表。所以我想做的是找出所有的account_receivables.id
佣金被遗漏的地方。
是否有直接的 SQL 查询?这是一个 Laravel 应用程序,我尝试了以下方法,但没有成功:
$comms = DB::connection('mysqllocal')->table('commissions')
->select('account_receivables_id')
->whereNotIn('rep_group_number', [999999])
->groupBy('account_receivables_id')->get();
999999
是 rep_group_number
解决方案
基本上,您正在寻找account_receivables
其中没有相应记录的所有记录commissions
。
一个简单LEFT JOIN
的WHERE ... IS NULL
应该做。
select ar.id
from account_receivables ar
left join commissions c on c.account_receivables_id = ar.id
where c.id is null
您没有在问题中给出完整的表格结构;上面的查询假设两个表之间的关系如下(如果需要,可以调整):
commissions.account_receivables_id -> account_receivables.id
推荐阅读
- css - 无法通过烧瓶中的 css 更改背景图像大小
- java - 即使在释放后如何使按钮保持选中状态?
- scheme - Scheme Lisp 3 × 3 矩阵的行列式
- c - C中的多态性和赋值运算符
- python - gpu 上的张量流很慢,还有更多问题
- animation - D3 arc 和 SVG 2d 到 3d 透视变化
- php - 如何通过 php 与 MySQLi 保持联系
- mongodb - 如何使 $not regexp 查询在 Go 中工作?
- highcharts - highcharts动态背景颜色问题
- javascript - 有没有办法在加载时将自定义键盘快捷键“注入”到页面中?