-
SQL - Differenz der eindeutigen Satz-ID
Hallo Forum,
ich habe ein Problem mit einem SQL-Statement.
Ich habe 2 Werte aus eine QuellenDatei und greife damit 2 mal auf eine ZielDatei zu.
Code:
Select a.KeyFeld1, a.KeyFeld2
b.KeyFeld, b.KZFeld, (Case when b.KZFeld = 0 then 1 else 0 end)
c.KeyFeld, c.KZFeld, (Case when c.KZFeld = 0 then 1 else 0 end)
From QuellenDatei as a
Inner join ZielDatei as b on a.KeyFeld1 = b.KeyFeld
Inner join ZielDatei as c on a.KeyFeld2 = c.KeyFeld
Ich möchte gerne die Different der Relativen Satznummer rausbekommen, aber irgendwie klappt das nicht......
Oder ist es möglich hier anders eine Eindeutige ID pro Satz zu ermitteln und dann die Diferenz zu berechnen?
Beispiel:
Code:
QuellenDatei
KeyFeld1 KeyFeld2
4711 4715
Zieldatei
RRN KeyFeld KZFeld
1 4711 0
2 4712 1
3 4713 2
4 4714 0
5 4715 0
Als Ergebnis möchte ich gerne 2 rausbekommen,
also die Differenz der RRN wobei KZFeld = 0.
Wie müßte mein SQL-Statement aussehen?
-
Normalerweise würde ich sagen:
rrn(b) - rrn(a)
-
Ich möchte nicht die Differenz aller Datensätze sondern nur derer, die KZFeld = 0 sind.
-
RRN(ID) liefert genau die Satznummer des einzelnen Satzes. Als ID ist der Name der Datei bzw. des Ersatzzeichens.
RRN(A) = Satznummer Quelle
RRN(B) = Satznummer 1. Join
RRN(C) = Satznummer 2. Join
-
Code:
QuellenDatei
KeyFeld1 KeyFeld2
4711 4715
Zieldatei
RRN KeyFeld KZFeld
1 4711 0
2 4712 1
3 4713 2
4 4714 0
5 4715 0
Rechne ich jetzt rrn(c) - rrn(b) -> 5-1 bekomme ich als Ergebnis 4. Wie kann ich die beiden Datensätze mit der RRN 2 und 3 ignorieren (KZFeld <>0) damit ich als Ergebnis 2 rausbekomme?
-
Oder gibt es eine andere Möglichkeit, als auf die RRN zu gehen und diese auszuwerten??
-
Ich gehe jetzt mal davon aus, dass Dich nur die Anzahl der Datensätze zwischen den beiden Argumenten in "QuellenDatei" interessiert und dass RRN bisher nur als Hilfsmittel hierfür benutzt wurde. Dann sollte das hier Dein Problem lösen.
Select
Count(*) - 1
From ZielDatei
Where
KeyFeld >= (Select KeyFeld1 From Quellendatei) and
KeYFeld <= (Select KeyFeld2 From Quellendatei) and
KZFeld = '0'
Frank Hildebrandt
-
Genau das habe ich gesucht, vielen Dank!!
Similar Threads
-
By GraueEminenz in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 10-07-06, 11:58
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 01-12-05, 18:12
-
By sim in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 23-12-04, 09:48
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