Моя ситуация выглядит следующим образом:
Я создаю систему счетов, у меня почти все сделано, кроме повторяемости счетов. Вот что я пытаюсь сделать без успеха.
Состояние:
Мое условие для создания нового рекуррентного счета ->
- контракт должен быть активным.
- ссылка должна быть равна 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 контракта и показать их в своем первом запросе. Это может быть нулевой (без проблем), важный для меня идентификатор идентификатора контракта.
Если я не достаточно ясен, пожалуйста, дайте мне знать.
Спасибо Сообщество.
[Изменено]
Краткое описание
- Я выполнил свой первый запрос и получил результаты из 324 строк.
- Затем запустите второй запрос и сравните результат query1 и query2
- строки, которые не совпадают, - это разница, и мне нужно сгенерировать
счета к ним.
Я действительно хотел бы сделать это в моем запросе (один запрос), а не в моем коде.