Vergleichen Sie die Zeilen in die gleiche Tabelle mit Oracle-SQL basiert auf einem einzigartigen Kombinationen von Spalten

Ich gesehen habe, ein paar Fragen auf Stackoverflow, die beziehen sich auf den Vergleich von Zeilen, aber nichts ganz wie diese Frage. Ich habe eine Tabelle mit Spalten wie :

 - Month       (Date (01-Jan-2013)
 - Country     (Varchar2)
 - SubCustomer (Varchar2)
 - FTE         (Number) Represents a value that is manually entered by employees each month

Wir haben einige Daten wie diese..

 - 01-Jan-2013 USA Customer1 10
 - 01-Feb-2013 USA Customer1 15
 - 01-Mar-2013 USA Customer1 30
 - 01-Jan-2013 BRA Customer2 100
 - 01-Feb-2013 BRA Customer2 300
 - 01-Mar-2013 BRA Customer2 50

Mein Ziel ist der Vergleich der vzä, die eingegeben werden, und geben eine Warnung in einer separaten Spalte wie "High Alert" oder "Low Alarm" oder "Ok", wenn die vzä eingegeben wird +/- 2x die vorangegangenen Monat für jeden Monat + Land + SubCustomer. Ich habe das Spiel mit verschiedenen Case-Anweisungen, aber ich kann nicht scheinen, um den Vergleich zu arbeiten von Monat zu Monat.

Verwendung der oben angeführten Daten, Kunden-1 produzieren würde eine Warnung der "High Alert" von Jan bis Mär und Kunde 2 produzieren würde eine hgh-Warnung von Jan, Feb und einen Niedrigen Alarm vom Feb, Mar.

Sind Sie versuchen zu erreichen, dass in einem trigger? Oder Sie wollen einfach nur abrufen, Monat, Land, Kunde, AlertType durch eine select-Anweisung?

InformationsquelleAutor Ewaver | 2013-10-01

Schreibe einen Kommentar