JOIN Problem

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

  • JOIN Problem

    hallo,

    ich habe folgendes Problem:

    meine 4 Tabellen sollen verknüpft werden!
    wobei mindestens alle Einträge der ersten Tabelle erscheinen sollen!

    Die zweite Tabelle wird mit der ersten also durch einen LEFT JOIN verknüpft!

    Jetzt sollen allerdings nur Einträge angezeigt werden, wo die zweite und dritte Tabelle ein gleiches Feld haben (INNER JOIN)!
    Die vierte Tabelle ist jetzt egal!

    Wie mach ich das jetzt mindestens alle Einträge der ersten Tabelle und dazu nur (wenn vorhanden) die Einträge von der zweiten und dritten Tabelle. Wenn keine gleichen Einträge vorhanden sind trotzdem den Eintrag aus Tabelle 1 ausgeben!

    Mein praktisches Problem:

    Ich hab eine Liste, wo mehrere Häfen vorhanden sind, wo ein Hafen mehrere Preise von Containern hat! z.B

    Hafen 1: 20 ft Container = 2000 EUR
    Hafen 1: 40 ft Container = 3800 EUR
    ...etc...

    und ich will auch wenn der Hafen keine Container anbietet, dass der Hafen hingeschrieben wird!

    Vielen Dank

    gruß Flip
    Find Parties?
    Partysuche

  • #2
    1. Was hat du bisher selbst hinbekommen?
    2. Wie ist die Struktur aller 4 Tabellen (posten).
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      (wenn vorhanden)? Ist das nicht left join?
      Gut geraten ist halb gewußt.

      Kommentar


      • #4
        Hallo, es tut mir leid, ich hab es selber gelöst!

        Hier der SQL-Code:
        PHP-Code:
        SELECT fm_speditionskosten.speditionskosten_idfm_speditionskosten.speditionskosten_betragfm_spedition.spedition_namefm_spedition.spedition_id,
        fm_hafen.hafen_namefm_hafen.hafen_idfm_container.container_namefm_container.container_volumenfm_container.container_id FROM fm_hafen
        LEFT JOIN 
        (fm_speditionskosten INNER JOIN fm_spedition ON 
        fm_spedition
        .spedition_id fm_speditionskosten.speditionskosten_spedition INNER JOIN fm_container 
        ON fm_container
        .container_id fm_speditionskosten.speditionskosten_containerON fm_speditionskosten.speditionskosten_hafen fm_hafen.hafen_id 
        Erst die INNER JOINs und dann verbinden dem LEFT JOIN, so hab ich von der Tabelle fm_hafen alle Einträge und bei den Verknüpften Tabellen nur die mit INNER JOIN verbundenen Einträge!

        Vielen Dank trotzdem
        Find Parties?
        Partysuche

        Kommentar


        • #5
          (Da blickt doch keiner mehr durch... nutz doch kürzere table aliases?! Oo)

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            und umrüche...

            Kommentar

            Lädt...
            X