@Servary

Как вытащить из баз клиентов, которые платили после первого числа любого месяца?

Есть база данных интернет-провайдера. В этой базе есть такие таблицы: клиенты, договоры, оплата(сумма оплаты, дата оплаты).
Данный запрос выводит клиентов, которые заплатили три раза за всё время:

select Contracts.idContracts, Clients.name
from Clients join Contracts on Clients.idClients=Contracts.Clients_idClients join Payment
on Contracts.idContracts=Payment.Contracts_idContracts
group by Clients.name, Contracts.idContracts
having count(Payment.Contracts_idContracts) = 3

Нужно вывести клиентов, которые три раза просрочили платёж(заплатили после первого числа любого месяца).
Буду крайне благодарен за помощь.
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Нужно использовать функцию day() для извлечения числа из даты
select Contracts.idContracts, Clients.name
from Clients join Contracts on Clients.idClients=Contracts.Clients_idClients join Payment
on Contracts.idContracts=Payment.Contracts_idContracts
where day(Payment.date) > 1 and day(Payment.date) < 20 and count(Payment.Contracts_idContracts) = 3
group by Clients.name, Contracts.idContracts
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы