Ankündigung

Einklappen
Keine Ankündigung bisher.

Kompliziertes MySQL-Abfrage Statement

Einklappen

Neue Werbung 2019

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

  • Kompliziertes MySQL-Abfrage Statement

    Hallo!

    Ich brauche eine sehr komplizierte SQL-Abfrage, und zwar:

    3 Tabellen:

    wirtschaft
    - id
    - firmenname
    - ort_id
    - branchen_id

    orte
    - id
    - ort_name

    branchen
    - id
    - branchen_name

    Ausgegeben müsste "firmenname" aus der Tabelle "wirtschaft" werden... Als Parameter bekomme ich "$ort_name" und "$branchen_name" welche allerdings nicht in Beziehung zur Tabelle "wirtschaft" stehen... In Beziehung stehen nämlich "wirtschaft.ort_id==orte.id" und "wirtschaft.branchen_id==branchen.id".

    Weiss jemand wie ich das machen kann bzw. wisst Ihr eh wie ich das meine?

    THX!

    Bis dann,
    i_am

  • #2
    mit "Join" solltest du das lösen können.

    Kommentar


    • #3
      hallo jego!

      mit join würde ich es schaffen wenn ich die ort_id und branchen_id kennen würde... aber ich weiss nicht im geringsten wie ich das mit nur ort_name und branchen_name schaffe... da brauche ich ja einen zusätzlichen umweg...

      was ist wenn ich in einer eigenen abfrage mal die jeweiligen id´s ermittle? aber das kommt mir halt wieder sehr unsauber vor...

      i_am

      Kommentar


      • #4
        was hindert dich daran die gleich mit abzufragen?

        bzw. mit on eine bedingung stellen.

        PHP-Code:
        <?php
        $sql 
        "SELECT was, du, willst FROM wirtschaft LEFT JOIN orte ON ort_id = id";
        ?>
        ?>
        is nur ein beispiel.

        Kommentar


        • #5
          aber das problem ist ja eben das ich die id´s nicht habe sondern nur den ort_namen und den branchen_namen...

          Kommentar


          • #6
            dann versteh ich da was falsch.

            du fragst doch die daten aus der Tabelle wirtschaft ab? oder nich?
            dann brauchst du die doch nur mit abfragen.

            Kommentar


            • #7
              ja, aus der tabelle wirtschaft... ich kriege aber als parameter nicht die beiden id´s sondern die jeweiligen namen welche aber nicht in der wirtschaftstabelle sind, sondern in den anderen beiden...

              das ist ja das blöde...

              Kommentar


              • #8
                zur eindeutigen idenifizierung brauchst du aber die id. also solltest du sie vorher auch aus der db hohlen. und dann mit übergeben.

                Kommentar


                • #9
                  so, es geht auch so:

                  SELECT w.firmenname FROM wirtschaft w LEFT JOIN orte o ON w.ort_id = o.id LEFT JOIN branchen b ON w.branchen_id = b.id WHERE b.branchen_name = '$branche' AND o.ort_name = '$ort'

                  thx!

                  i_am

                  Kommentar


                  • #10
                    na also...

                    dein letzes WHERE kannst du auch in ein ON umwandeln.

                    Kommentar


                    • #11
                      stimmt... danke nochmal!

                      bis dann,
                      i_am

                      Kommentar

                      Lädt...
                      X