Строки в столбцах на основе даты / времени в Postgresql - PullRequest
0 голосов
/ 12 февраля 2020

Вот часть таблицы: enter image description here

Мне нужно преобразовать это в это: enter image description here

I используется агрегация, но она заполняется множеством пустых ячеек. Конечно, в таблице есть еще записи с разными временными метками, например: 02.09.2020 21:30:00 и т. Д. Я вижу похожий вопрос , но в sqlfiddle что-то не так.

1 Ответ

1 голос
/ 12 февраля 2020

Этого можно добиться с помощью условного агрегирования.

select recordtime, 
       max(formattedvalue) filter (where fullname = 'FirstName') as "First Name",
       max(formattedvalue) filter (where fullname = 'SecondName') as "Second Name",
       max(formattedvalue) filter (where fullname = 'ThirdName') as "Third Name", 
       .... repeat for all possible full names ...
       max(qualitydesc) as "QualityDesc", 
       max(statedesc) as "StateDesc"
from the_table
group by recordtime
order by recordtime;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...