我的情况如下:
我正在建立一个发票系统,我几乎完成了所有工作,除了发票重复。这是我试图做的但没有成功。
条件:
我生成新的重复收据的条件是 ->
- 合同必须有效。
- 参考必须等于 PA。
- 只为还没有发票的合同生成发票。(怎么查)
我将使用 cron 运行脚本,它将每天运行,然后如果合同没有发票,我将每天生成发票。如果合同有该日期的发票,则什么也不做 - 退出。
在这里,我有一段 SQL 代码,我正在检索到该日期(现在是月份和年份)有发票的每个人。
一些有用的信息:
我有324 个有效合同,其中已在以下查询中生成发票。
SELECT contratos.id, contratos.idcliente, contratos.ativo, invoices.id as inv, invoices.due_date, invoices.contratoid
FROM contratos
LEFT JOIN invoices ON invoices.contratoid = contratos.id
WHERE contratos.ativo = 1
AND invoices.referencia = 'PA'
AND YEAR(due_date) = YEAR(CURDATE())
AND MONTH(due_date) = MONTH(CURDATE())
GROUP BY invoices.id
在另一个查询中,我有368 个有效合同。
SELECT * FROM contracts WHERE active=1
然后我知道我有 44 份没有发票的合同,并且我知道我需要为 44 份合同生成新的发票。
我的问题是如何检索这 44 份合同并在我的第一个查询中显示它,它可以为空(没问题),对我来说很重要的 id 是合同 ID。
如果我不够清楚,请告诉我。
感谢社区。
[编辑]总结
- 我运行我的第一个查询并得到 324 行的结果。
- 然后运行第二个查询并比较query1和query2的结果
- 不匹配的行是差异,我需要为他们生成发票。
我真的很想在我的查询(一个查询)中而不是在我的代码中这样做。