-
Wie immer gibts mehrere Möglichkeiten:
select * from Datei1
exception join Datei2
on a.Key=b.Key [and ...]
Selektiert alle aus Datei1 die nicht in Datei2 sind (Gegenteil von inner).
-
Irgendwas stimmt nicht!
Hallo *all,
ich habe folgendes Statement abgesetzt:
select distinct apo01tr.apanr, apo01tr.§§date
from apo01tr exception join apo01pf
on apo01tr.apanr = apo01pf.apanr
and apo01tr.§§date > 20110301
and apo01tr.apkdj2 = 1
order by apo01tr.apanr asc
und bekomme das Ergebnis.
32115 20.100.903
32115 20.100.904
32116 20.100.901
32116 20.100.902
32117 20.100.902
32117 20.100.903
32119 20.100.830
32119 20.100.831
32120 20.100.827
Wenn ich das in Query mache bekomme ich folgendes zu sehen:
32460 20.110.301
32461 20.110.301
32462 20.110.301
32463 20.110.301
32464 20.110.301
32464 20.110.301
32464 20.110.301
Sprich im SQL ignoriert der gefließentlich die Datumsabfrage.
Warum?
GG
-
Also ich habe das heute nochmals gemacht, und die SQL-Abfrage geändert:
select distinct apo01tr.apanr, apo01tr.§§date
from apo01tr
where apo01tr.apkdj2 = 1
and apo01tr.§§date > 20110301
order by apanr desc
dann bekomme ich die selben Sätze wie im Query
843251 20.110.318
843250 20.110.318
843249 20.110.318
843248 20.110.317
843247 20.110.317
843246 20.110.317
843245 20.110.317
843244 20.110.316
843243 20.110.316
843243 20.110.317
Wieso knallt die Exception dann so dazwischen?
GG
-
Schau Dir mal Deine beiden Abfragen an!
In der ersten (mit dem exception join) wird sowohl das Datum als auch apo01tr.apkdj2 = 1 in der JOIN-Anweisung hinterlegt.
In der zweiten Abfrage wird das Datum und apo01tr.apkdj2 in der Where-Bedingung angegeben.
Wenn Du Deine SQL-Abfrage wie folgt änderst, solltest Du auch beim Exception Join das erwartete Ergebnis erhalten:
Code:
select distinct apo01tr.apanr, apo01tr.§§date
from apo01tr exception join apo01pf
on apo01tr.apanr = apo01pf.apanr
Where apo01tr.§§date > 20110301
and apo01tr.apkdj2 = 1
order by apo01tr.apanr asc
... genauso hast Du es vermutlich auch in deinem Query abgesetzt.
Birgitta
-
Danke,
werde ich morgen mal ausprobieren.
GG
-
Ein exception join selektiert alle Sätze die nicht im Join vorhanden sind.
Ein Bedingung im Where entspricht immer einem Inner Join !
Exception kann man auch mit
where not exists (Select ...) erreichen.
Similar Threads
-
By heini in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 27-06-06, 11:34
-
By svente in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 23-02-06, 15:32
-
By Toschie in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 31-05-05, 11:37
-
By malzusrex in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 29-10-04, 09:49
-
By rebe in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 16-04-04, 09:29
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