WHERE mit zusätzlicher Abfrage

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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]

    Comment


    • #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.
      Last edited by El Toro; 28-07-2007, 10:53.

      Comment


      • #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]

        Comment


        • #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.

          Comment


          • #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ß

            Comment

            Working...
            X