Я пишу запрос для извлечения данных из таблицы истории. Таблица истории собирает все данные из таблицы реального времени в начале каждого месяца с добавленным столбцом capture_month. Попытка получить значения 'class_type', полученные в разные месяцы. Исходя из доходов каждого аккаунта, их тип_класса может измениться с A на D (A - хороший исполнитель, а D - плохой)
Select
account_id,
case when capture_month::date = (date_trunc('month', current_date))::date THEN class_type END as [class_type_I_month_ago],
case when capture_month::date = (date_trunc('month', current_date) - interval '1 month')::date THEN class_type END as [class_type_II_months_ago],
case when capture_month::date = (date_trunc('month', current_date) - interval '2 month')::date THEN class_type END as [class_type_III_months_ago]
from history_table
В результате я получу
account_id | class_type_I_month_ago | class_type_II_months_ago | class_type_III_months_ago
123456 | A | [Null] | [Null]
123456 | [Null] | B | [Null]
123456 | [Null] | [Null] | B
Как мне вместо этого получить их все в одну строку?
account_id | class_type_I_month_ago | class_type_II_months_ago | class_type_III_months_ago
123456 | A | B | B