PDA

View Full Version : SQL Update Satz in Abhänigkeit vom Folgesatz



malzusrex
20-11-14, 13:54
Hallo Gemeinde,
bin auf der Suche nach Denkanstösse für ein embedet SQL für folgendes Problem.



SatzNr Feld Feld2 Feld3
1 1 1
2 1 1
3 1 2
4 1 3
5 2 1
6 2 2


Feld3 soll nun in Abhänigkeit vom folgesatz befüllt werden.
-Feld1 und Feld2 gleich --> 'A'
-Feld1 gleich, Feld2<> --> 'B'
-Feld1 <> ---> Blank

Für die Sätze oben sollte dann das wie folgt aus sehen


SatzNr Feld Feld2 Feld3
1 1 1 A
2 1 1 B
3 1 2 B
4 1 3
5 2 1 B
6 2 2



Feld1 und Feld2 sind Dec-Felder und aufsteigend. Datei ist nach Feld1 + 2 sortiert und RGZPFM in Reihenfolge gebracht.

Bekomme ich sowas mit 1-2 Sql's schön hin?

Gruß
Ronald

malzusrex
20-11-14, 14:36
Habe da selber eine Lösung in 2 SQLs


Update MyFile c
set Feld3 = 'B'
where rrn(c) in ( Select rrn(a)
from MyFile a
left join Myfile b on rrn(a)+1 = rrn(b)
where a.Feld1 = b.Feld1
and a.Feld2 <> b.Feld2 )



Update MyFile c
set Feld3 = 'A'
where rrn(c) in ( Select rrn(a)
from MyFile a
left join Myfile b on rrn(a)+1 = rrn(b)
where a.Feld1 = b.Feld1
and a.Feld2 = b.Feld2 )


Gruß
Ronald

Robi
20-11-14, 14:47
Schade,:cool:
ich hatte grade das als Basis:

create table x as (
with a as (select dec(rrn(pnum1), 9, 0) as snr,
pnum1.* from pnum1 where rrn(pnum1) > 0)
b as (select dec(rrn(pnum1), 9, 0)-1 as snr
pnum1.* from pnum1 where rrn(pnum1)>1)
select * from a, b where a.snr = b.snr ) with data
damit hast du Satz 1 und Satz 2 nebeneinander und kannst vergleichen

Robi