我正在使用 MySQL 并且有一个名为sales
。它的主键是sales_id
.
-------------------------------------
sales_id | invoice_id |
-------------------------------------
1 | 147
2 | 148
3 | 150
For sales_id
3 the invoice_id
应该是 149。我想知道其中缺少哪些数字invoice_id
。我开始invoice_id
147 结束invoice_id
位于 4497。invoice_id
与 没有关系sales_id
.
是否可以使用查询知道发票 ID 中缺少哪些数字?
我假设您有一张发票表 - 发票。您可以尝试:
SELECT invoice_id FROM INVOICES invoice
WHERE NOT EXISTS (SELECT * FROM SALES s WHERE invoice.invoice_id = s.invoice_id)
编辑:如果您没有发票表,您可能需要在检查是否有任何差距之前取出所有发票。
从销售订单中选择不同的发票 ID BY 发票 ID ASC
从销售中选择 MAX(invoice_id)
然后,通过 php:
for ($i = 1; $i < $max_invoice_id; $i++)
{
if (!in_array($i, $all_invoice_id))
{
$gapId[] = $i;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)