Zuerst mal hallo zusammen.

Ich habe ein Problem mit einem SQL-Statement auf der AS/400 bzw. iSeries.

Es soll ein Feld geändert werden, wenn 4 verschiedene Bedingungen erfüllt sind.

Hier die Tabellen:

Tabelle Artikel (atstam):

Firmen-Nr. (firnr)
Artikel-Nr. (artnr01)
Präfix (artnr02)
Artikelhauptgruppe (arthg)
etc.

Tabelle Art-Lief-Verknüpfung (artlif):

Firmen-Nr. (firnr)
Artikel-Nr. (artnr01)
Lieferant (lifnr)

Ich möchte in allen Datensätzen die Artikelhauptgruppe auf z.B. '007' setzen, wenn:

1. die Firmennummern in beiden Tabellen gleich sind
2. die Artikelnummern in beiden Tabellen gleich sind
3. der Präfix in der Artikeltabelle nicht 'XYZ' ist
4. der Lieferant in der Art-Lief-Verknüpfung gleich '0815' ist

Einen SELECT mit den Bedingungen bekomme ich hin, aber den UPDATE-Befehl, aus welchen Gründen auch immer, nicht. (Wahrscheinlich stelle ich mich zu blöd an)

Hier mein bisheriges SQL-Statement:

update atstam
set arthg = '007'
where exists (
select atstam.firnr, atstam.artnr01, atstam.artnr02, atstam.arthg, artlif.lifnr
from atstam, artlif
where atstam.firnr = artlif.firnr
and atstam.artnr01 = artlif.artnr01
and atstam.artnr02 <> 'XYZ'
and artlif.lifnr = '0815')

Mittlerweile läuft's zwar durch, jedoch werden im Moment alle Datensätze geändert.

Bin jetzt schon ne Weile am rumdoktorn und bekomme es einfach nicht hin.

Ihr seid sozusagen meine letzte Hoffnung ;-)

Für Eure Hilfe jetzt schon herzlichen Dank

Gruss, der Nickelär