Ankündigung

Einklappen
Keine Ankündigung bisher.

Eventuelles Teilergebnis im Join ausgeben lassen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eventuelles Teilergebnis im Join ausgeben lassen

    Hallo,

    meine Tabelle "customer" mit Kundeninformationen hat eine Spalte "id" und meine Tabelle "bank" mit den dazugehörigen Bankdaten hat den Fremdschlüssel "customerID".

    Über diese Verbindung führe ich meinen folgenden JOIN aus, welcher auch funktionniert und mir sowohl die Kundendaten als auch seine Bankdaten liefert.

    SELECT
    c.id, c.company, c.familyName, c.firstName, c.vat, c.street, c.postalCode, c.city, c.country, c.dateOfBirth, c.phone, c.cellphone, c.email, c.fax,
    c.website, c.status, c.created, c.modified, c.notice, c.salutation, b.bank, b.iban, b.account, b.bankCode, b.bic
    FROM customer as c
    INNER JOIN bank as b
    ON c.id = b.customerID
    WHERE c.id = :searchId");
    Es kann jedoch vorkommen, dass ich einen Kunden gründe, und erst zu einem späteren Zeitpunkt die zu ihm gehörenden Bankdaten erfasse.
    In diesem Fall liefert mir der JOIN logischerweise kein Ergebnis.

    Wie kann ich meine Abfrage formulieren, dass wenn die customerID in der Tabelle "bank" noch nicht existiert, mir dann trotzdem die Daten aus meiner Tabelle "customer"
    angezeigt werden ?

    Eine Idee wäre, sobald ich einen neuen Kunden anlege ohne im selben Zeitpunkt auch seine Bankdaten ausfüllen, dann trotzdem beim speichern schon mal einen leeren Datensatz
    nur mit seiner customerID in der Tabelle "bank" anzulegen, aber mich interessiert, ob man den JOIN anders formulieren kann, um zum gleichen Resultat zu kommen.


  • #2
    oh hat sich erledigt ... hab den inner gegen einen left join ausgetauscht und habe meine Frage beantwortet.

    Kommentar

    Lädt...
    X