21 Ocak 2019 Pazartesi

Crosstab

Giriş
pivot tablo oluşturmak içindir. Açıklaması şöyle.
Unless you add a WHERE clause to ensure not more than N values are returned by the inner query, more values will need to be added as your database grows.
Örnek
Elimizde şöyle bir kod olsun.
create table reader_event
(
   reader_event_id serial,
   reader_name text,
   event_type varchar(25),
   event_date timestamp,
   metric_key text,
   metric_value bigint
)
Şöyle yaparız.
reader_name ilk sütun olur.
İkinci sütun metric_key = metric_value1 olan satırladır. ve değeri metric_value değeridir.
Üçüncü sütun metric_key = metric_value2 olan satırladır. ve değeri metric_value değeridir.
Dödüncü sütun metric_key = metric_value3 olan satırladır. ve değeri metric_value değeridir.
select * from crosstab('select b.reader_name, b.metric_key, b.metric_value from b') 
AS Final Result (reader_name text,
                 metric_value1 bigint,
                 metric_value2 bigint,
                 metric_value3 bigint)


Hiç yorum yok:

Yorum Gönder