verknüpfung über 3 tabellen problem :-/

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

  • verknüpfung über 3 tabellen problem :-/

    hallo.
    irgendwie bin ich grad am verzweifeln.
    ich habe folgende tabellen

    t_einheit:
    id_einheit| id_flotte | id_user
    1 | 1 | 56
    2 | 1 |56
    3 | 2 | 56
    4 | 2 | 56
    5 | 3 | 56
    6 | 0 | 56
    7 | 0 | 56

    t_flotte:
    id_flotte | bezeichnung | id_user
    1 | flotte1 | 56
    2 | flotte2 | 56
    3 | flotte3 | 56

    und
    t_mission:
    id_mission | id_flotte
    1 | 1
    17 | 3

    ===============
    jetzt möchte ich, das mir alle einheiten angezeigt werden, die keiner mission zugeordnet sind.

    also folgende ausgabe:
    id_einheit, id_flotte
    6, 0
    7, 0

    aber irgendwie bekomm ich das ganze nicht hin.
    wenn ich alle selektieren soll, welche einer mission zugeordnet sind, klappt alles wunderbar, aber eben nicht, wenn ich die leeren missionen nicht möchte.

    könnt ihr mir evtl. helfen?
    wäre supi nett

    greetz
    die Q

  • #2
    und wie sieht dein Versuch bisher aus?

    Kommentar


    • #3
      Original geschrieben von asp2php
      und wie sieht dein Versuch bisher aus?
      erst einmal habe ich es über joins versucht:
      Code:
      SELECT
      	* 
      from 
      	t_einheit 
      		LEFT_JOIN 
      	t_flotte 
      		USING(ID_Flotte)
      	 LEFT JOIN 
      		t_mission 
      		USING(ID_Flotte)
      das würde mir jetzt alle einheiten zurückliefern. egal ob sie einer mission zugeordnet sind oder nicht
      wenn ich folgendes mache:
      Code:
      SELECT
      	*
      from 
      	t_einheit LEFT_JOIN t_flotte USING(ID_Flotte) 
      	LEFT JOIN t_mission USING(ID_Flotte) 
      WHERE 
      	t_mission.ID_Flotte = 0
      dann geht es nicht. dann bekomm ich kein Result zurückgegeben.

      auch folgendes funktioniert nicht:

      Code:
      SELECT * 
      FROM t_einheit
      WHERE NOT 
      EXISTS (
      
      SELECT * 
      FROM t_einheit
      LEFT JOIN t_flotte
      USING ( ID_Flotte ) 
      LEFT JOIN t_mission
      USING ( ID_Flotte ) 
      )
      hier bekomme ich nen mysql-error, dass die syntax so nich korrekt sei.
      (You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXISTS (SELECT * FROM t_einheit LEFT JOIN t_flotte USING (ID_Fl)
      liegt wohl daran, dass ich noch nie mit unterabfragen gearbeitet habe.
      Zuletzt geändert von Marskuh; 20.09.2004, 11:36.

      Kommentar


      • #4
        Left Join ist schon mal richtig

        Tipp:
        - du brauchst nur 2 Tabelle (entscheide dich selbst )
        - is null ist dein Freund

        Kommentar


        • #5
          Original geschrieben von asp2php
          Left Join ist schon mal richtig

          Tipp:
          - du brauchst nur 2 Tabelle (entscheide dich selbst )
          - is null ist dein Freund
          wie meinst du das ich brauch nur 2 tabellen?

          Kommentar


          • #6
            überlege mal, du sagtest, du möchtest alle Einheiten haben, die in keiner Mission sind, stimmt? Also ... welche Tabelle kannst du ausschliessen?

            Kommentar


            • #7
              Original geschrieben von asp2php
              überlege mal, du sagtest, du möchtest alle Einheiten haben, die in keiner Mission sind, stimmt? Also ... welche Tabelle kannst du ausschliessen?
              *annen kopp klatsch*
              jepp ^^
              stimmt *moeeeeeeeep*
              danke für die hilfe

              Kommentar

              Lädt...
              X