目前我的查询如下:
select *
from crosstab(
$$ select name,id,date,flag from x $$,
select i::date from generate_series('2017-03-28','2017-03-29','1 day'::interval) i $$)
as final_result(name text, id numeric, "2017-03-28" numeric,"2017-03-29" numeric);
我在想是否有可能动态提供日期列名称,因为我必须为很多日期执行此操作
table x
name id date flag
x 1 2017-01-02 1
y 2 2017-01-02 2
z 3 2017-01-02 1
x 1 2017-01-03 1
y 2 2017-01-03 2
z 3 2017-01-03 1
x 1 2017-01-04 1
y 2 2017-01-04 2
z 3 2017-01-04 1
output:
name id 2017-01-02 2017-01-03 2017-01-04 .....more dates
x 1 1 1 1
y 2 2 2 2
z 3 1 1 1
...more rows
我希望在两个指定日期之间动态调用日期,并将相应的日期作为列名。