sortierungsproblem nach inner join

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

  • sortierungsproblem nach inner join

    Hallo,

    hab da mal eine frage?

    ich mache folgende abfrage:

    PHP-Code:
    $query mysql_query("SELECT t1.id_city, t1.stadt,
     t2.freigabe, t2.ort FROM stadt t1 INNER JOIN objekt t2 
    WHERE freigabe='yes' GROUP BY ort ORDER BY stadt"
    );

    if (
    mysql_num_rows($query)) {
    while(
    $row=mysql_fetch_array($query)) {
    $stadt_name $row['stadt'];
    $stadt $row['ort']; 
    die abfrage kommt auch zum gewünschten ergebnis. soweit so gut.
    nun mein problem.

    1. das order by stadt wird nicht gemacht. er ordnen mir immer nach der id_city, hätte aber gerne das er mir nach der zelle stadt ordnet

    2. bei echo $stadt_name kommt immer nur der name der ersten stadt.

    gleich vorweg. habe hier schon gesucht und dies ist meine erste inner join abfrage.

    danke schon mal im voraus
    EDIT:
    line break sponsored by asp2php
    Zuletzt geändert von asp2php; 02.09.2004, 10:49.

  • #2
    vermutlich sortiert er nach dem Primary Key der Tabelle stadt ...
    mach mal "order by 2" (nach 2. Spalte sortieren)
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      nur wenn du auch order by t1.stadt angibst, denn es gibt Spalte stadt und Tabelle stadt

      (und in where solltest du auch t2.freigabe angeben, ist korrekter. du sollst nicht beim proggen nicht tippfaul sein, sonst sollst du dich auch nicht über komische Ergebnisse wundern )

      Kommentar


      • #4
        danke, soweit so gut.

        aber seltsamerweis funktioniert das mit dem order by nicht so richtig.

        habe nun schon mal die zelle stadt sicherheitshalber umbenannt.
        trotzdem ordnet er mir immer noch nach der t1 id?

        hier nochmal der geänderte code:

        PHP-Code:
                $query mysql_query("SELECT t1.id_city, t1.ortschaft,
         t2.freigabe, t2.ort FROM stadt t1 INNER JOIN objekt t2 
        WHERE t2.freigabe='yes' GROUP BY t2.ort ORDER by t1.ortschaft"
        );
        if (
        mysql_num_rows($query)) {
        while(
        $row=mysql_fetch_array($query)) { 

        Kommentar


        • #5
          poste mal die deiner meinung nach falsch sortierten datensätze
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            hab den fehler schon gefunden

            hab bei GROUP das t2 entfernt und schon lauft es richtig.

            danke an alle

            wollte nur noch mal loswerden, das dass forum hier eecht klasse ist.

            Kommentar

            Lädt...
            X