Предполагается, что каждый отдел имеет только одну выписку за ежемесячный платежный цикл.
Моя цель состоит в том, чтобы выяснить, сколько отделов было затронуто более чем одной выпиской по счету за один и тот же платежный цикл.
КОНТЕКСТ:
Мой текущий запрос настроен на проверку только тех отделов, которые должны оплачиваться ежемесячно.
Таблица отделов имеет отношение «один ко многим» с таблицей «Выписка» (ожидается, что отдел будет иметь одну выписку в конце каждого цикла выставления счетов)
У каждого выписки по счету есть своя закрытая дата
a.payment_period = 1 представляет отделы, счета которых выставляются ежемесячно
Я также пытался выполнять поиск между конкретными датами истечения срока действия для каждого аккаунта.
Проблема с моим запросом состоит в том, что он выводит общее количество счетов closed_dates, а не проверяет только несколько вхождений в цикле оплаты.
Как можно изменить этот запрос, чтобы выводить только отделы с более чем одним экземпляром ежемесячного счета в течение цикла выставления счетов каждого отдела?
QUERY:
SELECT s.department, s.statement, COUNT(s.closed_date) AS sd, from_unixtime(s.closed_date)
FROM statement s
INNER JOIN department d
ON s.department=d.department
WHERE from_unixtime(s.closed_date) BETWEEN
DATE_SUB(from_unixtime(d.exp_date), INTERVAL 1 MONTH) AND
from_unixtime(d.exp_date)
AND d.period=1
GROUP BY s.statement DESC
HAVING sd>1
ВЫБОР ВЫБОРА:
department statement sd closed_date
1719712 9351464 3 2018-09-24
1719709 9351463 2 2018-09-24
1719708 9351462 2 2018-09-24
1719665 9351457 3 2018-09-24