PostgreSQL pivot

0

Mam prostą tabelę z 3 kolumnami,
Data text, Hotel text, Cena bigint
Co godzinę, skrypt na malince ładuje do tabeli aktualne ceny hoteli z pewnego biura podróży.
Chciałbym czasami podejrzeć, sobie te dane na wzór pivota w excelu. Niestety nie wiem jak dynamicznie określić liczbę kolumn..
Aktualnie kod który mam wygląda tak

SELECT *
    FROM  crosstab (
        $$SELECT hotel, data, cena
         FROM   hotele
         ORDER  BY 1,2$$
    )
        AS
    t ( Hotel text,                   
        "pon" bigint,                
        "wto" bigint
    );

Póki co ręcznie mam ustawione kolumny pon/wto. Moje pytanie jest takie, jak ustawić dynamicznie liczbę kolumn, który będzie wynikała z unikalnych dni, które znajdują się w tabeli?

0

nie da się dynamicznie określić liczby kolumn. Możesz się posiłkować stored proc, która pobierze skądś listę kolumn, złoży z nich stringa i odpali gotowa zapytanie.
https://www.google.pl/search?q=postgresql+pivot+table+dynamic+columns

0
abrakadaber napisał(a):

nie da się dynamicznie określić liczby kolumn. Możesz się posiłkować stored proc, która pobierze skądś listę kolumn, złoży z nich stringa i odpali gotowa zapytanie.
https://www.google.pl/search?q=postgresql+pivot+table+dynamic+columns

dzięki,
znalazłem już wcześniej rozwiązanie, może przyda się potomnym

https://github.com/hnsl/colpivot

1 użytkowników online, w tym zalogowanych: 0, gości: 1