Ich habe zwei TabellenAbfrage zwei Tabellen zu verknüpfen und LISTAGG Funktion
price -------- id value key sku1 r1 12 sku1 r2 13 sku2 r1 12 sku3 r1 14 specialprice ----- id value key startdate enddate sku2 r2 13 20-Mar 20-May sku3 r1 15 20-Mar 20-May
Ich versuche LISTAGG Funktion zu nutzen und bringt eine Ausgabe wie zu verwenden:
output ------ skuid value sku1 r1:12,r2:13 sku2 r2:13 sku3 r1:15
Wenn ein Eintrag in specialprice ist Tabelle und sysdate ist zwischen Startdatum und Enddatum dann muss ich berücksichtigen, dass sonst ich Wert von der Preistabelle erhalten muss. In der Preistabelle kann eine ID zwei Einträge haben, die ich diese zwei Datensätze LISTAGG muss. Sonderpreis Tabelle möglicherweise keinen Eintrag für die ID in der Preistabelle. Also bin ich mit FULL OUTER
PFB Abfrage JOIN, die ich aufgebaut:
SELECT
a.id,
listagg (a.value | | ':' | | nvl (a.key, ' '), ',') WITHIN GROUP (ORDER BY a.value) AS price
FROM price a
FULL OUTER JOIN specialprice b
ON(b.id = a.id)
WHERE sysdate between b.startdate and b.enddate
GROUP BY a.id
aber Problem ist, ich bin nicht in der Lage, den specialprice Tabellenwert und Schlüssel verbunden zu bekommen. Bitte helfen.