transcribe_wavs/dump_new.pg.sql

76 lines
1.8 KiB
SQL

WITH
----------raw message content---------------
ext AS (
SELECT
-- t.filename
(t.mdate - ((EXTRACT(DOW FROM t.mdate) - 5 + 7) % 7) * INTERVAL '1 day')::date AS week_ending
,t.mdate
,message->>'rep' rep
,message->>'text' markdown
,to_char(row_number() OVER (partition by (t.mdate - ((EXTRACT(DOW FROM t.mdate) - 5 + 7) % 7) * INTERVAL '1 day')::date),'FM000') seq
FROM
rlarp.thirtysec t
ORDER BY
t.mdate DESC
)
----------create unqiue list of weeks-------
,wk AS (
SELECT
week_ending
,'# '||week_ending markdown
,to_char(row_number() OVER (ORDER BY week_ending ASC),'FM000') seq
FROM
ext
CROSS JOIN (VALUES ('A'),('B')) r (flag)
GROUP BY
week_ending
ORDER BY
week_ending ASC
)
,wkh AS (
SELECT
w.week_ending
,w.seq||'.'||'000' || '.' || r.flag seq
,CASE r.flag
WHEN 'A' THEN w.markdown
WHEN 'B' THEN ''
END markdown
FROM
wk w
CROSS JOIN (VALUES ('A'),('B')) r (flag)
)
--------level 2 message header----------
,msg AS (
SELECT
e.week_ending
,w.seq || '.' || e.seq || '.' || r.flag seq
,CASE r.flag
WHEN 'A' THEN '## [['|| e.rep ||']]'
WHEN 'B' THEN ''
WHEN 'C' THEN e.markdown
WHEN 'D' THEN ''
END markdown
-- ,r.flag
FROM
ext e
CROSS JOIN (VALUES ('A'),('B'),('C'),('D')) r (flag)
INNER JOIN wk w ON
w.week_ending = e.week_ending
)
,stack AS (
SELECT
week_ending
,seq
,markdown
FROM
msg
UNION ALL
SELECT
week_ending
,seq
,markdown
FROM
wkh
)
SELECT markdown FROM stack order by seq