Перекрестный запрос

Рейтинг: 3Ответов: 0Опубликовано: 17.02.2023

Задание: Написать перекрестный запрос В качестве столбцов взять значения квартала поля ДатаОплаты, в качестве строк – значения поля НомерТелефона. На пересечении строк и столбцов отобразить соответствующие итоговые суммы оплаты, т.е. значения функции Sum от поля СуммаОплаты. Условие отбора: номера телефонов, начинающиеся на 476

Проблема: в данный момент кол-во столбцов т.е года выплаты, заданы статически, а нужно чтобы динамически все года учитывал

SELECT phone_number,
    SUM (CASE date_part('year', payment_date) WHEN '2021' THEN payment_sum ELSE 0 END) AS "2021",
    SUM (CASE date_part('year', payment_date) WHEN '2022' THEN payment_sum ELSE 0 END) AS "2022",
    SUM (CASE date_part('year', payment_date) WHEN '2023' THEN payment_sum ELSE 0 END) AS "2023"
FROM payment
where cast(phone_number as varchar(50)) like '476'
GROUP BY phone_number

Такая бд: введите сюда описание изображения

Ответы

Ответов пока нет.