mysql tabellen verbinden

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

  • mysql tabellen verbinden

    hi.
    ich habe folgendes problem. ich speichere dateien in einer tabelle ab (die dateinamen um genau zu sein) und in einer anderen die votes für diese dateien. mit der datei id in der spalte "vote_dateiid" verweise ich auf die dateien.

    Wie kann ich nun ein Select ausführen, dass alle Dateien ausgibt und nach der Anzahl der Votes sortiert.


    mfg, ihr mr. snooze

  • #2
    Unterabfragen:

    select * from vote where voteid = (select voteid from DEINTABLE)

    in dem sinne trotzdem 2 selects

    Kommentar


    • #3
      http://www.php-resource.de/forum/sho...threadid=28292
      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
        mir ist schon klar, dass das ein join ist. trotzdem finde ich in dem thread keine lösung für mein problem.

        ich hab sagen wird einen eintrag mit der id 1
        und einen mit der id 2
        zu der datei id 1 habe ich in meiner vote tabelle 4 votes
        zu der datei id 2 habe ich votes

        es müsste also etwa sso aussehen
        select * from datei orderby (summe aller votes der datei)

        angezeigt werden soll nun:

        datei 1 mit 4 votes
        datei 2 mit 2 votes

        kann ich also 2 selects auf einmal machen?

        Kommentar


        • #5
          wo ist jetzt dein problem?

          Code:
          SELECT
              D.name,
              COUNT(V.dateiid) votes_gesamt
          FROM
              dateien D
                  INNER JOIN votes V ON (V.dateiid = D.id)
          GROUP BY
              D.name
          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


          • #6
            klappt fast, nur wird nicht nach der anzahl der votes sortiert.
            und es lässt sich nicht nach votes_gesamt sortieren.

            Kommentar


            • #7
              ein bischen denken kannst du aber noch selber. oder?

              ORDER BY
              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


              • #8
                ich hatte das group by durch order by ersetzt und dann eine fehlermeldung bekommen.

                wäre nett, wenn du mir kurz sagst, wozu group da ist.

                gruss und danke für die hilfe.

                Kommentar


                • #9
                  du sollst ORDER BY hinzufügen am ende und nicht gegen das GROUP BY austauschen!

                  wozu GROUP BY da ist, kannst du hier nachlesen.
                  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


                  • #10
                    Original geschrieben von snooze
                    klappt fast, nur wird nicht nach der anzahl der votes sortiert.
                    und es lässt sich nicht nach votes_gesamt sortieren.
                    bevor du gleich wieder jammerst.....

                    Code:
                    SELECT
                        D.name,
                        COUNT(V.dateiid) votes_gesamt
                    FROM
                        dateien D
                            INNER JOIN votes V ON (V.dateiid = D.id)
                    GROUP BY
                        D.name
                    ORDER BY
                        votes_gesamt 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


                    • #11
                      ich hatte das problem schon bei meinem post zuvor gelöst. deswegen der dank.

                      Kommentar


                      • #12
                        warum postest du dann einen fehler und erwähnst das danke nur nebenbei?

                        aber hauptsache es geht jetzt....
                        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