Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Eine geteilte Mysql-Tabelle joinen

Einklappen

Neue Werbung 2019

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

  • #16
    Zitat von MrVienna Beitrag anzeigen
    Vermutlich liegt es an der Select-Syntax, dass mir Dein Code keine Ausgabe liefert.

    Dein Select:
    Code:
    SELECT t1.id , t2.id
    Eigentlich verstehe ich Deinen Satz überhaupt nicht. Die SQL-Abfrage liefert bei mir ein Ergebnis und in identischer Form auch bei Dir. Was willst Du mir eigentlich sagen?



    Zitat von MrVienna Beitrag anzeigen
    Und meines:
    Code:
     SELECT
     t1.id AS t1_id,
     t2.id AS t2_id,
     t1.LetzterLoginBeginn AS t1_LetzterLoginBeginn,
     t2.LetzterLoginBeginn AS t2_LetzterLoginBeginn,
     ...
    In Deiner Abfrage sind alle Spalten doppelt aufgelistet. Warum?

    Zitat von MrVienna Beitrag anzeigen
    An sich würde es ja schon funktionieren, bis auf den Umstand, dass ich es noch nicht schaffe, die beiden Werte (t3.Sid, t4.Fid) mit der Datensatz-ID der Tabelle 'vorschlag' zu verbinden.
    Verstehe ich auch nicht, soweit ich die Tabelle "vorschlag" überschaue, nur dort sind die spalten "sid" und "fid" vorhanden. Wie sollen diese jetzt verbunden werden? Mit sich selbst? Warum?

    Zitat von MrVienna Beitrag anzeigen
    Mein erster Versuch:

    Code:
    WHERE
    t3.Vid = t4.Vid and               // Vid ist die Datensatz-Nummer von vorschlag
    t3.Sid IS NULL and t4.Fid IS NULL and
    ...
    funktioniert zunächst einmal nicht.
    Hier taucht für mich zum ersten Mal eine Spalte "vid" auf.

    Ich denke, ohne die tatsächlichen Tabellen und ein paar Testdaten kann ich Dir nicht helfen. Sorry.

    Grüße
    Thomas

    Kommentar


    • #17
      Hallo Thomas

      Danke für Deine ausdauernde Beteiligung.

      Zunächst Deine Frage, warum ich alle Spalten doppelt aufliste: In der Tabelle 'kunden' sind sowohl Käufer als auch Verkäufer enthalten, die ich gegeneinander vergleiche, indem ich die Tabelle und somit alle Spalten teile.

      In der Tabelle vorschlag bedeutet das Feld Vid die Datensatznummer, in Sid kommt die ID des Käufers rein und in Fid die ID des Verkäufers.

      Und was ich machen wollte: Bei einem Datenabruf aus der Tabelle 'kunden' sollten keine Datensätze ausgegeben werden, von denen die ID des Käufers oder Verkäufer bereits in der Tabelle 'vorschlag' enthalten sind, so dass keine Mailnachricht mit dem gleichen Vorschlag an den Käufer oder Verkäufer geht.

      Inzwischen habe ich - nach einigen empirischen Versuchen und Überschlafen das Problem gelöst.

      Der Code sieht jetzt so aus:

      PHP-Code:
      <?
      Select 
      t1.id AS t1_id,
      t2.id AS t2_id,
      ...
      FROM (personen AS t1, personen AS t2)
      LEFT JOIN vorschlag as t3 ON (t1.id = t3.Sid)
      LEFT JOIN vorschlag as t4 ON (t2.id = t4.Fid)
      WHERE
      (t3.Sid IS NULL OR t4.Fid IS NULL) and
      ...
      ?>
      ES funktioniert und im Nachhinein erscheint alles so einfach. Danke nochmals für den Beistand.

      Kommentar

      Lädt...
      X