Announcement

Collapse
No announcement yet.

Join über 3 tabellen

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

  • Join über 3 tabellen

    Hallo,

    ich hoffe mal mir kann hier einer helfen..

    versuche schon seit gestern Abend diese Query zu laufen zu bekommen...

    global $db;
    $result=$db->query("SELECT
    clubs.id,
    clubs.club_name,
    album.id,
    album.album_name,
    album.album_date,
    album.clubs_id,
    images.id,
    images.img_src,
    images.img_thumb_src,
    images.album_id
    FROM
    clubs
    LEFT JOIN
    album
    ON
    clubs.id = album.clubs_id
    LEFT JOIN
    images
    ON
    album.id = images.album_id Group BY album_id");
    while(list($id, $club_name, $albumid, $albumname, $albumdate, $albums_club_id, $images_id, $imagessrc, $imgthumbsrc, $imagesalbumid) = $result->fetch_row()){




    ich habe folgendes Problem,

    ich würde gerne als Ergebnis, alle Bilder aus einem Album erhalten - mit Angabe vom jeweiligen Album als Ergebnis bekommen- .

    Leider bekomme ich das nicht so ganz hin.. - mit der Query die ich geschrieben habe, gibt er zwar die Alben raus, aber zeigt dann hallt immer nur das jeweils letzte Bild an. - will aber, dass er alle Bilder im jeweiligem Album anzeigt..

    Vielen Dank für eure Zeit schon mal..

  • #2
    Warum machst Du denn das GROUP BY? Finde ich an der Stelle eigentlich unnötig. Wenn dann höchstens ein ORDER BY AlbumId, dann hast Du alle Alben sortiert nacheinander und nicht wild durcheinander. GROUP BY macht was anderes.

    Comment


    • #3
      Danke

      Danke, aber ich glaube du hast meine Problem nicht ganz verstanden.

      Weiß, was ORDER BY macht...

      Mit meiner Abfrage erhalte ich 2 Alben, da ich momentan nur 2 Alben hochgeladen habe, aber leider immer nur das letzte Bild abgezeigt.

      Wenn du ORDER BY benutzt bekommst du nur die 4 Datensätze ausgegen.

      Sprich:

      Bild1 -> Album 1
      Bild2 -> Album 1
      Bild3 -> Album 2
      Bild4 -> Album2

      Ich möchte aber, dass er es so ausgibt:
      Album1 -> Bild1, Bild2
      Album2 -> Bild1, Bild2

      Hoffe, ich habe es jetzt besser erklärt!

      Comment


      • #4
        Hallo,
        Originally posted by Sagary View Post
        Danke, aber ich glaube du hast meine Problem nicht ganz verstanden.

        Weiß, was ORDER BY macht...
        Ja gut, vlt. weißt du wirklich was ORDER BY macht, aber offensichtlich hast DU nicht verstanden was dir fanderlf sagen wollte und offensichtlich weißt du auch nicht WAS GROUP BY macht. (Noch dazu so falsch eingesetzt wie in deinem Statement )

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Danke

          Ach du...

          Ich vermisse echt die Staaten....

          See ya..

          Comment


          • #6
            Ok das verstehe ich. Du willst Dein Ergebnis transponieren. Das ist allerdings in SQL nur eingeschränkt bis gar nicht möglich. Da man dafür dynamisch Spalten generieren müsste. So etwas würde ich eher in der DB eigenen Programmiersprache programmieren. In SQL geht das nur mit sehr viel tricksen und auch nur mit einer statischen Anzahl an Spalten.

            Comment


            • #7
              Originally posted by Sagary View Post
              Ach du...

              Ich vermisse echt die Staaten....

              See ya..
              Mal im Ernst, wenn du deine Abfrage mit einem "Group BY album_id" versiehst (was rein syntaktisch falsch ist und nur in MySQL so funktioniert), dann brauchst du dich doch nicht zu wundern wenn er dir alles mehr oder weniger zufällig auf eine album_id zusammenstampft.
              Für dein Vorhaben solltest du dir mal GROUP_CONCAT() ansehen. Mit der RICHTIGEN Gruppierung löst das dein Problem.

              Hinweis: Formatierung von SQL in Beiträgen

              Gruß Falk
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment

              Working...
              X