[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2001
    Beiträge
    45

    Question SQL und AS/400 JOIN

    Hallo,

    ich versuche gerade ein Feld1 aus Datei1 mit dem Feld1 ais Datei2 in SQL zu updaten.
    Also t01.Feld1 = t02.Feld1 ...

    aber ich muss die beiden joinen über feld3.

    also where t01.feld3 = t02.feld3 !!!

    Nun habe ich mehrere Sachen ausprobiert aber es funktioniert nicht mit Join.

    mit "update t01 set feld1 = (Select .... where feld3 = feld3) klappt es auch nicht 100% da er dann einen Fehler mit Nullsätze hat.

    Per ODBC - ACCESS funktioniert es ... aber es muss doch auch per DB2 SQL gehen oder.

    Was ich will:
    ICh will einfach die Euro werte aus t01 mit dem Euro Werten aus t02. tauschen aber nur für das Jahr 01 aus t01 und t02... so ungefäir.

    Danke
    Bye
    HoScHiE

  2. #2
    Registriert seit
    Dec 2000
    Beiträge
    99

    Post

    Das war so schon richtig, hänge aber noch

    ... where exists(>deine Joinbedingung<) an die Abfrage dran, um zu verhindern, daß bei nicht-paarigen Sätzen NULL zurückgegeben wird.

    Gruß

    Torsten

  3. #3
    Registriert seit
    Dec 2000
    Beiträge
    99

    Post

    Hoppla,

    im exists muß vor der Joinbedingung natürlich auch noch ein Wert zurückgegeben werden : where exists( select feld from where <Joinbedingung> ).

  4. #4
    Registriert seit
    Jul 2001
    Beiträge
    45

    Post

    ÄHm ... das habe ich nicht so ganz verstanden.

    Das mit dem Where exists klings logisch aber ich habe doch die Join bedingung im 2.select schon drin ???

    Kannst du mir ein kurzes Beispiel geben. ?==
    Danke
    Bye
    HoScHiE

  5. #5
    Registriert seit
    Dec 2000
    Beiträge
    99

    Post

    z. B.

    UPDATE t1 SET f1 = (select f2 from t2 where
    t2.f3 = t1.f4)
    WHERE exists(select f2 from t2 where
    t2.f3 = t1.f4)

    f3 und f4 sind die JoinFelder aus beiden Tabellen, f1 das upzudatende (!) Feld und f2
    der Inhalt aus der zweiten Tabelle mit dem neuen Feldinhalt für f1.
    Findet die erste Unterabfrage keinen passenden Satz in Tabelle t2, wird NULL als Ergebnis zurückgeliefert, deshalb schließt die 2. Unterabfrage entsprechende Ergebnisse aus, und es wird nicht versucht f1 (nicht nullfähig ) zu ändern.

    Gruß

    Torsten

Similar Threads

  1. SQL inner join
    By Robi in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 22-06-07, 15:52
  2. SQL left join
    By ahingerl in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 08-12-06, 08:28
  3. SQL JOIN
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 19-10-06, 07:56
  4. MS Access ODBC mit JOIN: SQL FEHLER666
    By olafu in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-10-06, 08:13
  5. RPG mit Embedded SQL, JOIN ..
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 18-06-06, 12:14

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •