From d9bfe43d2eea4bee6c48917b36493a627b42f4ae Mon Sep 17 00:00:00 2001 From: Paul Trowbridge Date: Thu, 5 Nov 2020 23:01:03 -0500 Subject: [PATCH] initial select with column list combined with body for ytd --- generate_sql/col_baseline.sql | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/generate_sql/col_baseline.sql b/generate_sql/col_baseline.sql index 7bc820a..6ba6cde 100644 --- a/generate_sql/col_baseline.sql +++ b/generate_sql/col_baseline.sql @@ -2,11 +2,12 @@ DO $$ DECLARE clist text; + ytdbody text; BEGIN -------------------------------build a column list---------------------------------------- SELECT - string_agg(format('%I',cname),E'\n,' ORDER BY opos ASC) + string_agg(format('%I',cname),E'\n ,' ORDER BY opos ASC) INTO clist FROM @@ -14,7 +15,33 @@ FROM WHERE func NOT IN ('version'); -RAISE NOTICE 'build list: %',clist; +--RAISE NOTICE 'build list: %',clist; + +SELECT +$a$ +SELECT + $a$::text|| + clist|| + $b$ + ,'baseline' "version" + ,'actuals' iter +FROM + rlarp.osm_dev o +WHERE + ( + --base period orders booked.... + [order date column name] BETWEEN [supplied target range from date] AND [supplied target range to date] + --...or any open orders currently booked before cutoff.... + OR ([order status column here] IN ([list of statuses indicating still open]) and [order date column name] <= [include open orders through this date]) + --...or anything that shipped in that period + OR ([name of shipdate column] BETWEEN [supplied target range from date] AND [supplied target range to date]) + ) + --be sure to pre-exclude unwanted items, like canceled orders, non-gross sales, and short-ships +$b$::text +INTO + ytdbody; + +RAISE NOTICE '%', ytdbody; END $$