Announcement

Collapse
No announcement yet.

Probleme mit FULL JOIN

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit FULL JOIN

    hallo,

    ich bin neu hier und hoffe, ihr könnt mir helfen ;-)

    zwei Datenbanken

    DB01:
    ID
    A0
    A1
    A2
    A3
    A4
    A5

    DB02:
    VALUE | MYID
    1000 |A0
    1100 |A0
    2000 |A3
    4000 |A4
    6000 |A6

    mit SELECT A.ID, B.VALUE FROM DB01 A FULL JOIN DB02 B ON A.ID = B.MYID

    bekomme ich eine Tabelle:
    ID | VALUE
    A0 |1000
    A0 |1100
    A1 |NULL
    A2 |NULL
    A3 |2000
    A4 |4000
    A5 |NULL
    NULL|6000

    leider kann ich mit der Ausgabe nicht weiterarbeiten, denn das Programm zur weiteren Abarbeitung macht folgendes daraus:
    ID | VALUE
    A0 |1000
    A0 |1100
    A1 |1100
    A2 |1000
    A3 |2000
    A4 |4000
    A5 |4000
    A5|6000

    es scheint so, als würden die leeren Felder vom vorhergehenden Durchgang einfach übernommen, weil diese Werte nicht mit NULL überschrieben werden können

    also muß ich an der Stelle NULL etwas stehen haben. Kann ich die Felder schon im Select irgendwie mit einem Zeichen oder Wert (z.Bsp <empty>) befüllen ?

    Danke und Grüße

  • #2
    [highlight=sql]
    SELECT
    IIF(A.ID is not null, A.ID, 0) as ID, B.VALUE
    FROM
    DB01 A FULL JOIN DB02 B ON A.ID = B.MYID;
    [/highlight]

    Comment


    • #3
      hallo,

      vielen Danke für die schnelle Antwort,
      ich habe da aber noch ein syntaxproblem. Ich habe DB2 v7 (linux) und da scheint das nicht zu funktionieren. in google habe ich nichts gefunden auch auf der IBM-Seite nichts. .. und mein DB2 Buch liegt zu Hause :-(

      Grüße

      Comment


      • #4
        Eine Alternative zu IIf wäre CASE
        [highlight=sql]
        ... case when A.ID is not null then A.AI else 0 end as ID ...
        [/highlight]

        Comment


        • #5
          hi .. danke .. case hat funktioniert

          Grüße

          Comment

          Working...
          X