Announcement

Collapse
No announcement yet.

Left Outer Join - doppelte fehlende auch anzeigen

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

  • Left Outer Join - doppelte fehlende auch anzeigen

    Hallo,

    ich habe ein Problem mit einem Outer Join.

    Tabelle1:
    A
    B
    C

    left outer join

    Tabelle2:
    1 A
    2 A
    3 B
    4 B

    on "Buchstabenspalte"

    Ergebnis

    1 A A
    2 A A
    3 B B
    4 B B
    null null C

    Soweit so gut. Ich brauch aber den C Wert 2 mal. Praktisch besagt dies das in diesem Warenkorb vom Produktbündel ABC das Produkt C getauscht wurde und zwar nicht nur einmal, sondern 2 mal.

    Hat diese Problem eventuell schon jemand gelöst?
    Einen Tip?

    Grüße
    Sebastian1234
    Zuletzt editiert von sebastian1234; 13.07.2011, 12:41.

  • #2
    Hallo,

    evtl. die Menge deines join vereinen(union all) mit dem gleichen join und in der where Klausel Tabelle2 is null.

    sowas also(ungetestet)

    [highlight=sql]

    select tab1.feld1,tab2.feld1
    from tab1 left join tab2
    using(feld1)
    union all
    select * from
    (select tab1.feld1,tab2.feld1
    from tab1 left join tab2
    using(feld1)
    where tab2.feld1
    is null);
    [/highlight]

    Gruß

    Martin

    Comment


    • #3
      Hallo Martin,

      ja das funktioniert.
      Ich bin immer um den Outer Join gekreisst.
      Aber so geht es.

      Ein Problem allerdings welches ich noch lösen muss ist der folgende Fall.
      (Denn hat mein Beispiel vorhin nicht abgedeckt)

      Tabelle2 (Varinate2 Person x und Person y)
      1 A X
      2 A X
      3 B X
      4 B X
      5 A Y
      6 B Y

      Dein Beispiel Funktioniert bei Person X.
      Bei Person Y wird allerdings C auch 2 mal angezeigt und nicht nur einmal.
      Was eben daran liegt das bei beiden jeweils eines angezeigt wird.

      Grüße
      Sebastian1234

      Comment


      • #4
        Originally posted by sebastian1234 View Post
        Tabelle2 (Varinate2 Person x und Person y)
        1 A X
        2 A X
        3 B X
        4 B X
        5 A Y
        6 B Y


        Grüße
        Sebastian1234
        Hallo Sebastian,

        wie soll den das Ergebnis für o.a.a Menge aussehen?

        Comment


        • #5
          Hallo,

          das Ergebnis sollte so aussehen. Person X,Y,Z

          1 A X
          2 A X
          3 B X
          4 B X
          null C X
          null C X
          5 A Y
          6 B Y
          null C Y
          7 A Z
          null B Z
          8 C Z

          Person X hat Produktbündel (ABC) zweimal gekauft und 2 mal C getauscht.
          Person Y hat Produktbündel (ABC) einmal gekauft und 1 mal C getauscht.
          Person Z hat Produktbündel (ABC) einmal gekauft und 1 mal B getauscht.

          Grüße
          Sebastian1234

          Comment

          Working...
          X