2 Tabellen über eine 3 Tabelle verknüpfen

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

  • 2 Tabellen über eine 3 Tabelle verknüpfen

    Hallo zusammen,

    ich habe zwei Tabellen (kunden + angebot, in denen sich jeweils eine Datum-Spalte befindet.
    Jetzt möchte ich prüfen:
    1. Von wann sind die Kundendaten (kunden)
    2. Und/oder hat der Kunde ein aktuelles Angebot (angebot)


    Die Verbindung zwischen den beiden Tabellen kunden + angebot kann ich nur über eine 3 Tabelle bestellung herstellen, in der einmal die Kunden-ID (kunden) steht, sowie die Angebots-ID (angebot).

    Deshalb habe ich folgende Abfrage geschrieben:

    PHP-Code:
    SELECT kunden.kunden_idkunden.name
    FROM kunden
    bestellungangebot
    WHERE kunden
    .datum $loesch_timestamp
    AND bestellung.kunden_id kunden.kunden_id
    AND bestellung.angebot_id angebot.angebot_id
    AND angebot.datum $loesch_timestamp 
    Bei diesem Versuch erhalte ich zwar keine Fehlermeldung, jedoch werden je nachdem wie vielen Bestellungen (bestellung) ein Kunde hat, die Kunden-IDs (kunden) mehrfach ausgelesen?

    Mir ist nicht ganz klar wie ich es hinbekomme, dass zwar alle Angebote (angebot) auf Aktualität geprüft werden aber die Kunden-ID (kunden) nur einmal ausgelesen wird, sofern ALLE Angebote sowie die Kunden-Daten selber veraltet sind? Oder ist so eine Abfrage gar nicht möglich, da von z.B. 3 Angeboten 2 veraltet sein könnten!?

    Ich habe gerade ein Knoten im Kopf und benötige bitte einmal einen neuen Denkansatz in die richtige Richtung.

    Im Voraus vielen Dank!
    Jofris

  • #2
    Hallo,

    es ist zwar kein Fehler, aber du solltest von deinem Theta-Style Join wegkommen und lieber den ANSI-Style verwenden (z. B. INNER JOIN, LEFT JOIN, …).

    Bei Joins ist es praktisch immer so (reine Equi-Joins ausgenommen), dass Datensätze mehrfach vorkommen. Das verarbeitet man aber in der Regel durch einen Gruppenwechsel in PHP.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Vielen Dank!

      Hallo Amica,

      mir ist zwar noch nicht alles klar was du geschrieben hast (Gruppenwechsel in PHP?), aber ich habe einen neuen Ansatz und neue Begriffe, die ich nachlesen kann.

      Vielen Dank! werde ich gleich einmal ausprobieren/nachvollziehen.

      Gruß
      Jofris

      Kommentar

      Lädt...
      X