Announcement

Collapse
No announcement yet.

Verknüpfung zweier Tabellen

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

  • Verknüpfung zweier Tabellen

    Hallo Leute!
    Ich hab mal ein Problem, für das mir einfach keine vernünftige Lösung einfallen will. Und zwar habe ich zwei Tabellen, die etwa wie folgt aussehen:

    DD_KUNDE

    KUNDE_PK | KUNDENDIENST_MA_FK | ACM_FK | KUNDENNAME
    --------------------------------------------------------------------------------------
    0001 | 2710 | 2060 | Kunde1
    --------------------------------------------------------------------------------------
    0002 | 2734 | 2060 | Kunde2


    PT_PERSON

    PERSON_PK | LASTNAME | FIRSTNAME | EMAIL
    ---------------------------------------------------------------
    2060 | Müller | Peter | [email protected]
    ---------------------------------------------------------------
    2710 | Meier | Holger | [email protected]
    ---------------------------------------------------------------
    2734 | Schmidt | Susi | [email protected]


    Ich möchte jetzt aus der Kundentabelle alle Einträge raussuchen, bei denen Herr Müller (2060) der ACM ist und gleichzeitig danaben den Namen des Kundendienstlers schreiben. Also zum Beispiel so:

    KUNDENNAME | ACM | KUNDENDIENST
    ------------------------------------------------------
    Kunde1 | Müller | Meier
    ------------------------------------------------------
    Kunde2 | Müller | Schmidt

    Ich hoffe das Prinzip wird klar...

    Mein Problem ist jedenfalls, dass ich zwar mühelos den Kundennamen und den Namen des ACM ausgeben kann, nicht aber den Namen des Kundendiensts, da ich ja hier quasi zwei Mal das gleich Feld abfragen müsste.

    Meine natürlich völlig falsche Abfrage würde dann so aussehen:

    Select
    DD_KUNDE.KUNDENNAME,
    PT_PERSON.LASTNAME As Nachname_ACM,
    PT_PERSON.FIRSTNAME as Vorname_ACM,
    PT_PERSON.EMAIL As MAIL_ACM,
    PT_PERSON.LASTNAME As Nachname_CSR
    From
    DD_KUNDE,
    PT_PERSON
    Where
    DD_KUNDE.ACCOUNT_MANAGER_FK = 2060 And
    DD_KUNDE.ACCOUNT_MANAGER_FK = PT_PERSON.PERSON_PK And
    DD_KUNDE.KUNDENDIENST_MA_FK = PT_PERSON.PERSON_PK

    Könnt ihr mir nen Schubs in die richtige Richtung geben?

  • #2
    Du benötigst 2 Instanzen der Personentabelle
    [highlight="sql"]
    Select
    k.KUNDENNAME,
    p.LASTNAME As Nachname_ACM,
    p.FIRSTNAME as Vorname_ACM,
    p.EMAIL As MAIL_ACM,
    p2.LASTNAME As Nachname_CSR
    From
    DD_KUNDE k,
    join PT_PERSON p on = p.PERSON_PK = k.ACCOUNT_MANAGER_FK
    join PT_PERSON p2 on = p2.PERSON_PK = k.KUNDENDIENST_MA_FK
    where
    k.ACCOUNT_MANAGER_FK = 2060;
    [/highlight]

    Comment


    • #3
      Hallo Markus,
      vielen Dank für die schnelle Antwort! Was meinst du mit zwei Instanzen? Soll ich eine zweite, identische Tabelle erzeugen? Wenn ich dein SQL-Statement richtig interpretieren fragst du zwei Personentabellen ab.

      Comment


      • #4
        Ja, 2 Zugriffsinstanzen auf die selbe physikalische Tabelle

        Comment


        • #5
          Danke, hab's gerade fertig bekommen! Super Hinweis, vielen Dank!!

          Comment

          Working...
          X