#sql #database #postgresql #select #business-intelligence
Вопрос:
это первый раз, когда я задаю здесь вопрос.
В своей работе я работал с метабазой и некоторыми базами данных на Postgres. У меня есть требование, которое заключается в пересечении данных между таблицами, но в основной таблице нет столбца даты, который можно было бы объединить с другими. Основной способ, который является шаблоном, — присоединиться к планшету de calendar_aux в лагере свиданий.
Основная таблица с именем shop_dre_operational имеет следующую структуру
year january february march april may june july august september october november december
Возвращая значения, подобные этому:
Результаты
Все месяцы являются столбцами, включая год, как я могу преобразовать их в дату, чтобы объединить с другими таблицами и выбрать некоторые значения?
Ответ №1:
Вы можете использовать UNION ALL
для сбора данных в другом формате. Например:
select *
from (
select make_date(ano, 1, 1) as date, jan as amount from t
union all select make_date(ano, 2, 1), fev from t
union all select make_date(ano, 3, 1), mar from t
...
union all select make_date(ano, 12, 1), dez from t
) x
where ...
group by ...
order by ...
Будет создан набор данных с двумя столбцами: date
и amount
который вы можете использовать в любом запросе.
Комментарии:
1. Я реализовал это решение, заменив
from t
другие переменные окружения, которые я использовал в коде. Это сработало, спасибо!