-
Hallo nochmal,
also ich hab den Code getestet - leider kommt nicht ganz das raus was ich mir wünsche.
Die Problematik an dem Ganzen ist wohl dass in der YKEXE die Verbindung (EKDNR) nicht unbedingt existiert.
vielleicht hab ich mich auch etwas unverständlich ausgedrückt 
Nimm aus der YKU --> nimm aus der TELREGYKU alles was die selbe KDNR hat -->
nimm aus YKUEXS jene welche SUID='68' und die selbe KDNR wie YKU und TELREGYKU haben -->
schau nach ob EKDNR=KDNR in YKUEXE vorhanden und EUID='26' und EIN='' ansonsten bleib bei den bisherigen.
Und da liegt die Problematik, die Abfrage kehrt nicht zu den ersten beiden Dateien zurück.
-
Deine Beschreibung ist immer noch zu kompliziert.
Die YKUEXE wird per Left Join eingebunden, da dort Daten nicht vorhanden sein müssen.
Was soll "ansonsten bleib bei den bisherigen" denn bedeuten?
Meine Abfrage nimmt
- alles aus den ersten beiden Dateien, wenn in YKUEXE kein Satz existiert
- Nimm aus YKAU ff aber nur Daten, wenn ein Satz in YKUEXE vorhanden und euid='26' ist
Ein Left Join liefert immer NULL, wenn kein Satz vorhanden ist.
Coalesce berücksichtigt dies und meine Abfrage sagt dann, wenn in YKUEXE nichts ist, dann nimm in diesem Fall wieder EUID = '26' an um somit die Daten doch zu nehmen.
Mach doch einfach mal ein Datenbeispiel.
Die andere Möglichkeit ist, die Daten in 2 Schritten zu laden:
-- Teil 1 = alle Daten, die keinen Satz in YKUEXE haben
select *
from YKU b
inner join TELREGYKU c on b.kdnr = c.kdnr
inner join YKUEXS d on d.kdnr = a.kdnr
where b.kulv =''
and c.email is not NULL -- <= Ist das Feld mit NULL definiert?
and b.kuag <> 'D1'
and b.kulisp <> 'T'
and d.suid='68'
and c.FUNKTI <> 'MARKET1'
and c.FUNKTI <> 'AP7VW01'
and not exists (select * from YKUEXE a where b.kdnr = a.kdnr)
Union all
-- Teil 2 alle Kunden die einen Satz in YKUEXE haben und der Inhalt dort passt
select *
from YKU b
inner join TELREGYKU c on b.kdnr = c.kdnr
inner join YKUEXE a on b.kdnr = a.kdnr
inner join YKUEXS d on d.kdnr = a.kdnr
where b.kulv =''
and c.email is not NULL -- <= Ist das Feld mit NULL definiert?
and b.kuag <> 'D1'
and b.kulisp <> 'T'
and d.suid='68'
and c.FUNKTI <> 'MARKET1'
and c.FUNKTI <> 'AP7VW01'
and a.euid = '26'
and a.ein <>'J'
order by b.kdnr
Similar Threads
-
By Isabella Pridat-Zapp in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 15-12-14, 17:10
-
By HEMPel84 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 18-09-02, 14:36
-
By Burgy Zapp in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 04-07-02, 14:01
-
By Bernhard in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 20-11-01, 07:39
-
By Fireball in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 22-08-01, 20:01
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks