2 Tabellen mit einer Abfrage, Abfragen und sortieren

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

  • 2 Tabellen mit einer Abfrage, Abfragen und sortieren

    Guten Morgen,
    ich habe 2 Tabellen, die exakt die selben felder haben, die eine Tabelle heisst hauptfotos und die andere profilbilder.

    Beide enthalten folgende Felder:

    id, (auto-increment, primärschlüssel)
    userid,
    dateiname_gross,
    dateiname_klein,
    datum,
    uhrzeit,
    tcpip,
    gesamtpunkte,
    stimmen,

    Da es sich um Bildervoting handelt, möchte ich alle Einträge aus beiden Tabellen in einer Abfrage auslesen und sortieren nach gesamtpunkte / stimmen.

    Aus einer tabelle auslesen und bereits in der abfrage gesamtpunkte / stimmen zu errechnen und danach zu sortieren ist kein problem, nur bei zwei tabellen gleichzeitig bekomm ich es nicht hin..

    Außerdem sollen die Ergebnisse rückwärts ausgegeben werden, also DESC.

    Habe bereits folgendes ausprobiert:

    PHP-Code:
    $db_abfrage "SELECT * from $hauptfotos,$profilbilder order by $hauptfotos.gesamtpunkte / $hauptfotos.stimmen and $profilbilder.gesamtpunkte / $profilbilder.stimmen DESC";

            
    $num_rows 0;
            
    $result mysql_query($db_abfrage) or die ("Error");
            
    $num_rows mysql_num_rows($result);
            
            echo 
    "$num_rows Datensätze gefunden!<br>";
            echo 
    "<br>\n";
            
            
                while(
    $row mysql_fetch_array($result))
                {
                
                
    $wert 0;
                
                    if(
    $row[stimmen])
                    {
                    
    $wert round($row[gesamtpunkte] / $row[stimmen],2);
                    }
                    
                echo 
    $row[userid]." - > ".$wert."<br>";
                
                } 
    Kann mir jemand helfen?
    Zuletzt geändert von KarlKoks; 19.11.2009, 12:13.

  • #2
    Hi,

    ich will jetzt ungern nur mit einem Link antworten aber leß das hier bitte erst mal: http://www.php-resource.de/forum/sql...-abfragen.html

    Kommentar


    • #3
      Schnellschuss: UNION?

      BTW: zwei gleiche Tabellen kann eigentlich nie richtig sein.

      Kommentar


      • #4
        Sorry, aber ich verstehe das alles nicht..

        Kommentar


        • #5
          http://en.wikipedia.org/wiki/Set_ope...UNION_operator
          MySQL :: MySQL 5.0 Reference Manual :: 12.2.8.3 UNION Syntax

          Kommentar


          • #6
            2 Tabellen und Union

            Hi!

            Ja richtig, mit UNION kannst 2 SELECT zusammenwürfeln, hab Deinen Post nur gerade gesehen, weil ich genau dasselbe in einem anderen Thread eben schrieb.

            Ich möchte aber eigentlich anmerken, was auch schon ein anderer schrieb: 2 Tabellen mit identischer Struktur, die man auch noch zusammenfügen möchte, ist definitiv keine gute Idee. UNION hilft hier, ist aber langsamer als ein einfacher SELECT über 1 Tabelle.

            Mein Tipp dazu:
            Bau ein halt ein Flag ("Spalte") in 1 Tabelle ein, z.B. profibilder INT default 0 damit Du Hauptbilder und Profibilder unterscheiden kannst. Dann genügt ein billiges where profibilder=1 um Deine Profibilder rauszufiltern. Ist jedenfalls allemal schneller als UNION. ;-)

            Ciao,
            Ingo

            Kommentar


            • #7
              Guten Morgen, erst einmal danke an onemorenerd
              funktioniert so wunderbar.

              ecswebhosting, habe mich dazu entschlossen,
              es nun auch über eine Tabelle laufen zu lassen :-)

              Vielen Dank für Eure Tipps.

              Gruß

              Kommentar

              Lädt...
              X