Hallo zusammen,

vereinfachtes Bsp.
3 Dateien

select case when a.f1='J' then sum(a.f2) else sum(b.f2) end
from a left outer join b on a.f3=b.f3
left outer join c on c.f4=a.f4
group by c.f4

geht nicht, da a.f1 nicht im group ist
Schade, würde er erst den select bilden und dann groupen würde es gehen.

also so:
with xx as (select c.F4, case when a.f1='J' then sum(a.f2) else sum(b.f2) end as sme
from a left outer join b on a.f3=b.f3
left outer join c on c.f4=a.f4
group by a.f1, c.f4)
select f4, sum(sme) from xx group by f4

nun ist das Problem aber, das davor ein
Update d set f5 =( ... muß.
und das nicht geht.
Wie krig ich den Update hin ohne eine echteTemp Datei zu schreiben

In Worten
in abh. eines Kennzeichens aus Datei A brauch ich die Summe eines Feldes von Datei A oder Datei B, gegroupt auf einer Info aus Datei C um damit Datei D zu aktualisieren.

Danke
Robi