WHERE mit zusätzlicher Abfrage

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

  • WHERE mit zusätzlicher Abfrage

    Hallo,

    ich habe folgendes Problem.

    Ich liste Artikel auf die auch in Warengruppen stecken.
    Die Artikel haben nur die ID der Warengruppe mit in der Tabelle.
    Wie kann ich nun auch noch nach alphabetischer Reihenfolge der Warengruppe sortieren ?

    So frage ich momentan ab...
    PHP-Code:
    mysql_query("SELECT * FROM artikel ORDER BY wgrid ASC, name ASC"); 
    Wie bekomme ich es also hin das er erst nach dem Namen der Warengruppe sortiert und dann nach dem Artikelnamen?
    Geht das überhaupt, oder muss ich erst die Warengruppen sortieren und dann die dazugehörigen Artikel auslesen?

    Wäre super wenn mir da jemand einen Tip geben würde.

  • #2
    Du musst die beiden Tabellen mit Join verbinden (für den Namen der Warengruppe) und kannst nach Warengruppe gruppieren und nach Name sortieren.
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      Hmm, also grob verstanden hab ich das nun glaub ich, aber irgendwie steh ich da noch auf dem Schlauch.

      Folgendes hab ich nun...
      PHP-Code:
      mysql_query("SELECT ... FROM artikel AS t1 JOIN warengruppen AS t2 GROUP BY wgr_name ASC ORDER BY art_name ASC"); 
      Es wird aber nur noch ein Artikel angezeigt aber in allen (2) Warengruppen.
      Obwohl dieser Artikel nur in einer Gruppe ist.
      Zuletzt geändert von El Toro; 28.07.2007, 11:53.

      Kommentar


      • #4
        Code umbrechen! Ungetestet:
        Code:
        SELECT ... FROM artikel a JOIN warengruppe w ON a.id = w.id
        GROUP BY w.name ASC ORDER BY a.name ASC
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          Danke für deine Hilfe.

          So werden mir 2 Artikel angezeigt.
          Für jede Warengruppe einer, allerdings sind beide Artikel in einer Gruppe, also wird einer schonmal falsch aufgelistet.

          Kommentar


          • #6
            Hab es nun hinbekommen.

            PHP-Code:
            mysql_query("SELECT .... FROM artikel a JOIN warengruppen w ON a.wgrid = w.id ORDER BY w.name ASC, a.name ASC"
            Danke für den Anstoß

            Kommentar

            Lädt...
            X