Alle Einträge welche in einer Tabelle nicht vorkommen auslesen

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

  • Alle Einträge welche in einer Tabelle nicht vorkommen auslesen

    Hallo Zusammen,
    Ich habe 2 Tabellen (eigentlich sind es noch mehr Tabellen, aber die tun nichts zur Sache) und ein Problem

    In der 1. Tabelle (tb_faherer) sind alle Fahrer erfasst und sieht so aus:
    fahrer_id (AUTO_INCREMENT) Integer
    fahrer_name VARCHAR(50)

    Die Zweite Tabelle erfasst alle Fahrer welche am Rennen Teilnehmen und sieht so aus:
    dc_id (AUTO_INCREMENT) Integer
    dc_rennen FK (Enthält die ID des Rennens, aus der Tabelle Rennen)
    dc_driver FK (Enthält die ID des Fahrer, aus der Tabelle fahrer)

    Ein Fahrer kann natürlich an mehreren Rennen teilnehmen, deswegen auch die Zwischentabelle tb_dc.

    Nun möchte ich alle Fahrer auslesen, welche am aktuellen Rennen (sagan wir am Rennen mit der ID 4) nicht teilnehmen.

    Leider habe ich keine Idee wie ich das ganze bewerkstelligen kann, bzw. soll!

    Danke für eure schnelle Hilfe.

    Gruss Cracy

  • #2
    liest du hier .... ;-)
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Naja, den Thread habe ich auch schon gelesen... es wäre ja auch kein Problem, wenn ich einfach alle Datensätze auslesen müsste welche nur in der ersten Tabelle vorkommen.
      Es kann sein, dass zum Beispiel ein Fahrer schon an einem anderen Rennen teilgenommen hat und seine ID darum schon in der zweiten Tabelle (tb_dc) ist.

      Verstehst du was ich meine?

      Kommentar


      • #4
        na und? ... joins funktionieren auch mit where und NULL ... auch über 3 tabellen oder 5 oder so
        Kissolino.com

        Kommentar


        • #5
          naja... scheinbar ist es schon zuspät, dass ich es nicht mehr hinbringe

          Kommentar


          • #6
            per ferndiagnose und handauflegen kann dir auch keiner helfen ... wenn's nicht klappt, musst du schon tab-struktur und sql-query posten ... evtl. mit ein paar beispiel datensätzen.
            Kissolino.com

            Kommentar


            • #7
              Tabelle drivers
              driver_id (AUTO_INCREMENT) INT PK
              driver_name
              driver_firstname

              Tabelle dc
              dc_id (AUTO_INCREMENT) INT PK
              dc_driver (FK drivers.driver_id)
              dc_car (FK cars.car_id)
              dc_race (FK races.race_id)

              Tabelle races
              race_id (AUTO_INCREMENT) INT PK
              race_name VARCHAR(50)

              Tabelle cars
              car_id (AUTO_INCREMENT) INT PK
              car_name VARCHAR(50)

              Daten:
              Drivers:
              1, Weiss, Hans
              2, Müller, Heini
              3, Meier, Peter

              Dc:
              1, 1, 1, 1
              2, 2, 2, 1
              3, 1, 2, 2
              3, 3, 1, 2

              Races:
              1, "Test GrandPrix"

              Cars:
              1, Silberpfeil
              2, Goldpfeil


              Also, nun möchte ich alle Namen und ID's aus der Tabelle drivers welche im aktuellen Rennen nicht in der Tabelle dc auftauchen.

              D.h. also wenn das aktuelle Rennen 1 ist möchte ich
              3, Meier, Peter

              wenn das aktuelle Rennen die ID 2 hat so sollte ich
              2, Müller, Heini
              bekommen.

              Ich hoffe ich konnte das ganze ein bisschen Detailierter erläutern!

              Kommentar


              • #8
                du solltest einen dump posten. meinst du hier hat jemand lust selber die tabelle anzulegen?
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  yebee.... hat sich erledigt...

                  ich habe es geschaft... werde dann bei gelegenheit mal die lösung posten!

                  jetzt aber zuerst mal ab in verdiente wochenende. erst am montag wieder zur arbeit!

                  Kommentar

                  Lädt...
                  X