[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Apr 2004
    Beiträge
    105

    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?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Normalerweise würde ich sagen:

    rrn(b) - rrn(a)
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Apr 2004
    Beiträge
    105
    Ich möchte nicht die Differenz aller Datensätze sondern nur derer, die KZFeld = 0 sind.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    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
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Apr 2004
    Beiträge
    105
    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?

  6. #6
    Registriert seit
    Apr 2004
    Beiträge
    105
    Oder gibt es eine andere Möglichkeit, als auf die RRN zu gehen und diese auszuwerten??

  7. #7
    Registriert seit
    Dec 2002
    Beiträge
    301
    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

  8. #8
    Registriert seit
    Apr 2004
    Beiträge
    105
    Genau das habe ich gesucht, vielen Dank!!

Similar Threads

  1. Fehler im SQL bzw. Joblog
    By GraueEminenz in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 10-07-06, 11:58
  2. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  3. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  4. embedded SQL, Satz geschützt
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 01-12-05, 18:12
  5. SQL - eindeutige ID für Satz ?
    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
  •