PDA

View Full Version : Satzpositionierung in SQL



Seiten : 1 [2]

BenderD
18-12-08, 09:59
- SQL arbeitet Mengen orientiert.
- Rekord Löffel Ekzem ist ISAM (vor relational).
- Was ISAM kann, kann SQL schon lange, nur die Lösung ist eine andere (in Worten: eine a n d e r e).
- Für Ratschläge zur Lösung braucht man eine verständliche Problembeschreibung! Diese Problembeschreibung verstehe ich immer weniger, je mehr sie beschrieben wird.

D*B



Danke für die Antwort,

Artikel und OpCode sind Sortierfelder und ich will auch nur lesen. Das mit den 3 Sätzen war nur ein Beispiel, es können auch 50 oder mehr Sätze werden. Der zuletzt empfangene Satz ist leider nicht der letzte in der Sortierfolge, so dass ich schauen muss, wo dieser gerade empfangene Satz sich einreiht und dann dementsprechend den vorherigen und den nachfolgenden Satz lesen muss, um zu entscheiden, ob der Satz nun gültig oder nicht gültig ist. Dies entscheide ich anhand anderer Feldinhalte des vorherigen und des nachfolgenden Satzes. Ist ein bisschen verwirrend, ich weiß. Wichtig ist einfach nur, dass ich mich auf den empfangenen Satz positionieren kann. So langsam bekomme ich das Gefühl, das dies mit SQL gar nicht möglich ist und ich irgendwie eine neue Datei aus den zwei vorhandenen schaffen muss um dann via normalen RPG mit den Schlüsselfeldern aus beiden Dateien zugreifen muss.

Peter

Fuerchau
18-12-08, 11:06
Wenn die Entscheidung, welcher Satz der letzte ist, von anderen Werten abhängt, so stimmt einfach die Sortierung nicht.
Prüfe doch einfach, inwieweit du die Sortierung beeinflussen kannst.
Hilfreich können hier CTE und Case-Ausdrücke sein:

with xTemp as (
select ...., case when Bedingung then Wert else Wert2 end as MySort, ...
from ...
)
select * from xTemp order by MySort


rrn(x) ist keine Lösung, da bei REUSEDLT(*YES), Standard bei SQL-Tables, rrn nicht die Eingangsfolge ist.