Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите составить Запрос SQL

Stanislav Знаток (296), открыт 1 неделю назад
Есть таблица договоров contract с полями
1. insurer_id
2. contract_id
3. addendum_id
4. begindate
5. loaddate
6. status_name
Есть таблица допников к договору addendum с полями
1. addendum_id
2. contract_id
3. begindate
4. loaddate
5. status_name
Выбрать все договоры, у которых количество допников больше 2, которые начинают свое действие с 01.03.2024
1 ответ
Вадим Ануфриев Мастер (1620) 1 неделю назад
 SELECT c.contract_id, COUNT(a.addendum_id) AS addendum_count 
FROM contract c
LEFT JOIN addendum a ON c.contract_id = a.contract_id
WHERE a.begindate >= '2024-03-01' AND c.begindate >= '2024-03-01'
GROUP BY c.contract_id
HAVING COUNT(a.addendum_id) > 2;
Этот запрос объединяет таблицы contract и addendum по полю contract_id. Затем он фильтрует результаты, выбирая только те записи, у которых дата начала действия как у договора, так и у допника больше или равна '2024-03-01'. Затем он группирует результаты по идентификатору договора и подсчитывает количество допников для каждого договора. Наконец, он выбирает только те записи, у которых количество допников больше 2.
Похожие вопросы