Problem mit MYSQL-Befehl

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

  • Problem mit MYSQL-Befehl

    Ich habe eine Datebank, die unteranderem die Tabellen Foto(mit FotoNr, Titel,...) und Bewertet(mit FotoNr, Note,....) enthält.
    Ich brauche nun eine MYSQL-Anweisung, die mir den Titel und die Durchschnittsnote zu einem bestimmten Bild angibt, z.B. mit der FotoNr 2. (In der Tabelle Bewertet ist natürlich jedes FotoNr mehrmals bewertet und in der Tabelle Foto ist die FotoNr der Primärschlüssel, also gibt es jede FotoNr nur einmal)
    Ich hatte jetzt gedacht, ich könnte das so machen, aber das geht irgendwie nicht, da kommen nur Fehlermeldungen:

    SELECT Titel, avg(Note)
    FROM Foto, Bewertet
    WHERE Foto.FotoNr=Bewertet.FotoNr and Bewertet.FotoNr='2'

    Kann mir da jemand helfen?
    Schonmal vielen Dank!

  • #2
    Re: Problem mit MYSQL-Befehl

    wär auch sehr hilfreich wenn du die fehlermeldungen hier posten würdest.

    jperl

    Kommentar


    • #3
      @jperl
      welche fehlermeldung?

      @Bastigringo
      probier das mal. und wie immer ohne garantie.

      Code:
      SELECT
          f.Titel,
          AVG(b.Note) 
      FROM
          Foto f
              INNER JOIN Bewertet b ON (f.FotoNr = b.FotoNr)
      WHERE
          f.FotoNr = 2
      GROUP BY
          f.Titel
      wenn du den WHERE-teil weglässt, solltest du das für alle bilder bekommen.
      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


      • #4
        @Abraxax:

        Erstmal Vielen Dank, es funktioniert wirklich. Jetzt würde ich die Ergebnisse gerne noch nach der Durchschnittsnote sortieren, aber irgendwie geht das nicht, wenn ich einfach "order by AVG(f.Note)" dazufüge.



        @ jperl:
        Fehlermeldung:
        "Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource on line......"
        Aber das sagt ja nix groß dadrüber aus, was los is, da ihr das restliche Skript ja nicht kennt. Der stolpert dann halt einfach über eine Stelle, die sich aus dem neu eingefügten Teil ergibt

        Kommentar


        • #5
          "Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource on line......"
          Aber das sagt ja nix groß dadrüber aus,
          vor allen dingen, weil das nur die fehlermeldung ist, die aus nem vorhergehenden fehler resultiert, und somit ...
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            @Bastigringo
            nun auch nach durchschnitt absteigend sortiert.

            Code:
            SELECT
                f.Titel,
                AVG(b.Note) schnitt
            FROM
                Foto f
                    INNER JOIN Bewertet b ON (f.FotoNr = b.FotoNr)
            WHERE
                f.FotoNr = 2
            GROUP BY
                f.Titel
            ORDER BY
                schnitt DESC
            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

            Lädt...
            X