Sortierte Abfrage

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

  • Sortierte Abfrage

    So, also ich habe mal wieder ein Problemchen und hoffe, man kann mir helfen *gg*

    Ich habe eine Tabelle mit Schülernamen.
    Zu jedem Schülernamen steht neben alter, vorname, nachname, klasse auch der Lehrer fürs
    a) 1. Hauptfach
    b) 2. Hauptfach
    c) 1. Nebenfach
    d) 2. Nebenfach

    Nun möchte ich aus dieser Tabelle die Schüler auslesen, die alle bei bspw. Herr Maier unterricht haben, egal in welchem Fach.
    Das geht ja noch:

    PHP-Code:
    $result =  mysql_query ("select nachname, vorname, klasse from schueler where hauptfach1='$lehrer' or hauptfach2='$lehrer' or nebenfach1='$lehrer' or nebenfach2='$lehrer' order by klasse, nachname, vorname"); 
    Damit bekomme ich die Schüler die bei einem bestimmten Lehrer unterricht haben sortiert nach zuerst klasse, dann nachname und dann vorname.... OK.
    Das Problem an der Sache ist jetzt aber, das es dabei keinen unterschied macht, ob der Lehrer nun in einem Hauptfach oder einem Nebenfach unterrichtet.

    Kann ich es mit EINER Abfrage an die DB machen, das nach Lehrern sortiert wird???
    Also in der Liste sollen dann zuerst alle Schüler sortiert nach klasse etc. stehen, die den Lehrer im 1.Hauptfach haben, danach kommen die Schüler dran, die den lehrer im 2.Hauptfach haben etc.?!?!?!

    Ich zerbrech mir schon seit Stunden den Kopf daran, und probiere und probiere, aber ich schaff es nicht.
    Geht das überhaupt? Und wenn, wie?

    thx

  • #2
    PHP-Code:
    $result =  mysql_query ("select nachname, vorname, klasse from schueler where hauptfach1='$lehrer' or hauptfach2='$lehrer' or nebenfach1='$lehrer' or nebenfach2='$lehrer' order by hauptfach1, hauptfach2, nebenfach1, nebenfach2, klasse, nachname, vorname"); 
    probier das mal

    gruss

    Kommentar


    • #3
      *grummel*

      Nee, so funktioniert das nicht...
      Jetzt wird es nach den Werten in den Spalten hauptfach1, hauptfach2 etc. sortiert, d.h.,
      aber das will ich ja nicht.
      Die Liste soll hinterher ja so aussehen:

      Erst die Schüler, die den Lehrer im 1.Hauptfach haben:
      Ampel, Peter => Maier => Hauptfach1
      Bartels, Frank => Maier => Hauptfach1
      Rongard, Uwe => Maier => Hauptfach1

      Dann die Schüler, die den Lehrer im 2.Hauptfach haben:
      Asgaad, Ole => Maier => Hauptfach2
      Colman, Pete => Maier => Hauptfach2

      Kommentar


      • #4
        dann mach die ORDER BY - Klausel in der Reihenfolge, wie du die Ausgabe haben willst. Du hast die Sortierung doch genannt.

        gruss

        Kommentar

        Lädt...
        X