Aktive SCD2-Datensatzversion an einem bestimmten Datum

Die DDS-Schicht der Rosbank ist ein klassisches SCD2-Warehouse auf Greenplum/Postgres. Jeder Datensatz trägt ein DATERANGE-Gültigkeitsintervall (halboffen): Die obere Grenze der aktiven Version ist infinity. Der Analyst möchte einen Snapshot jedes Vertrags an einem bestimmten Datum. Gib mir einen Vertrags-Snapshot zum 2024-03-15: genau eine Zeile pro Vertrag — die Version, deren valid-Intervall dieses Datum abdeckt. Verträge, die an diesem Datum keine aktive Version hatten, sollen weggelassen werden. Gib für dt_to upper(valid) zurück oder NULL, wenn die obere Grenze infinity ist.

Beispiel der erwarteten Ausgabe

So sieht eine korrekte Antwort aus — ihre Zeilenanzahl ist eigenständig und muss nicht mit den Schematabellen übereinstimmen.

dt_tostatusdt_fromrate_pctcontract_id
2024-04-01OPEN2024-02-0111.00401
NULLOPEN2024-01-159.90402
2024-04-15OPEN2024-03-157.50405
Rosbank

Dein Abfrageergebnis erscheint hier

Focus radio
Paused · SomaFM · Fluid