Announcement

Collapse
No announcement yet.

mitglieder anzeigen, die nicht in tabelle stehen

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

  • mitglieder anzeigen, die nicht in tabelle stehen

    Hallo,

    ich habe 2 Tabellen. In einer stehen Anmeldungen zu Terminen, in der anderen die Mitglieder.

    Ich möchte nun alle Mitglieder anzeigen, die nicht in der Tabelle mit den Anmeldungen stehen.
    Meine Abfrage:
    $res = $this->class_obj->db_query("SELECT Interne_ID,Nachname,Vorname,Firma FROM Mitglieder WHERE Aisc_No ='$Club' and Interne_ID NOT IN ('SELECT Interne_ID FROM Termine_Anmeldungen')");
    Das ganze lasse ich mit einer while Schleife auslesen.
    So klappt das nicht,die Mitglieder werden trotzdem angezeigt.
    Wo liegt der Fehler?

    Danke, Petra

  • #2
    Um welche Datenbank handelt es sich denn überhaupt

    Comment


    • #3
      Hallo,
      Mysql. Ich weiss, das Subqueries nur bedingt funktionieren, aber mit einem Join auf != hat es auch nicht geklappt.

      $res = $this->class_obj->db_query("select a.Vorname,a.Nachname,a.Firma from Mitglieder as a, Termine_Anmeldungen as b where a.Interne_ID!=b.Interne_ID and a.AISC_No='$Club' and b.Termin_ID='$id'");

      while( $row = mysql_fetch_array($res))
      {

      Ausgabe des ganzne

      }

      Es liegen 4 Anmeldungen vor. Mir wird jeder Datensatz 4 x angezeigt.
      Deshalb hatte ich es mit dem Subquerie probiert.

      Gruss Petr

      Comment


      • #4
        Subqueries funktionieren bei MySQL gar nicht, zumindest nicht in dieser Form. Wenn Du Subqueires bei MySQL abbilden willst mußt Du mit JOIN arbeiten

        Comment


        • #5
          Unterstützt MySQL auch kein DISTINCT?

          Grüße Joche

          Comment


          • #6
            Doch, DISTINCT funktioniert

            Comment


            • #7
              Mit Distinct erreiche ich lediglich, das der Datensatz des Mitgliedes statt 4 nur 3 mal angezeigt wird, alle anderen werden weiterhin 4 x mal angezeigt

              Comment


              • #8
                Du könntest mit einem LEFT JOIN ON arbeiten und auf den Wert false prüfen, dann würdest Du herausbekommen, welche werte NICHT in beiden Tabellen stehen

                Comment

                Working...
                X