comparison schema/updates/1470/01.update_report.sql @ 5640:47ee6ecf94de DQR adjustments

update reports.sql. Migration of materialized view
author Thomas Junk <thomas.junk@intevation.de>
date Thu, 01 Jun 2023 12:24:18 +0200
parents
children 6fe970d800ec
comparison
equal deleted inserted replaced
5634:677a52ad9486 5640:47ee6ecf94de
1 DROP MATERIALIZED VIEW waterway.dqr_bottleneck_stats;
2
3 CREATE MATERIALIZED VIEW waterway.dqr_bottleneck_stats AS
4 WITH d AS ( SELECT ym::date
5 FROM generate_series( '2019-10-01'::date,
6 now() - interval '1 day',
7 '1 month'::interval ) ym),
8 bn AS ( SELECT DISTINCT bottleneck_id ,max(objnam) as objnam, responsible_country AS cc,
9 min ((lower(stretch)).hectometre) AS hm
10 FROM waterway.bottlenecks
11 WHERE validity @> tstzrange(now() - interval '1 hour', now() + interval '1 hour', '[)')
12 GROUP BY bottleneck_id,cc
13 )
14 SELECT bn.cc, bn.hm, d.ym AS month, bn.objnam, bn.bottleneck_id,
15 COALESCE(count(distinct(sr.date_info)),0) AS srcnt,
16 COALESCE(count(distinct(efa.measure_date)),0) AS fwacnt
17 FROM bn
18 CROSS JOIN d
19 LEFT OUTER JOIN waterway.sounding_results sr
20 ON sr.bottleneck_id = bn.bottleneck_id
21 AND d.ym <= sr.date_info
22 AND sr.date_info < (d.ym + interval '1 month')
23 LEFT OUTER JOIN waterway.fairway_availability fa
24 ON fa.bottleneck_id = bn.bottleneck_id
25 LEFT OUTER JOIN waterway.effective_fairway_availability efa
26 ON fairway_availability_id = fa.id
27 AND d.ym <= efa.measure_date
28 AND efa.measure_date < (d.ym + interval '1 month')
29 AND efa.measure_type = 'Measured'
30 GROUP BY bn.cc, bn.hm, d.ym, bn.bottleneck_id, bn.objnam;