mysql: sortieren

  • Hallo zusammen =)
    Ich habe (vereinfachtes Beispiel) 2 Tabellen. In einer Tabelle stehen verschiedene Aufgaben, ToDo's sozusagen. In der anderen Tabelle stehen die verschiedenen Projekte, denen die ToDo's zugeordnet werden.
    Wenn ich jetzt die ToDo's nach dem Projekt sortiere, sortiert es logischerweise nach dem ID, da ja nur der ID des Projektes in der ToDo Tabelle steht.
    Ich möchte aber nach dem Namen sortieren. Also während dem sortieren auf eine andere Tabelle zugreifen, um den Namen herauszulesen und dann nach dem Namen zu sortieren..
    Hmm, ein bisschen kompliziert. Zur Veranschaulichung ein Bild.

    Ist es nötig, den Projektnamen in der gleichen Tabelle zu speichern, oder kann ich irgendwie über eine Verschachtelte Abfrage sortieren?

    Vielen Dank und Grüsse
    baloo

  • Also ich würde es so machen:
    * beide Tabellen Abfragen
    * anhand der ID's die zugehörigen Datensätze in ein PHP-Array einbauen
    * das Array dann mit PHP-Array-Funktionen sortieren

    Das Array besteht dann aus der Summer aller Attribute der einzelnen Tabellen:
    todo_id, proj_id, proj_name, todo_text

    Wäre also ein Ansatz...

    Es ginge jedoch auch direkt mir SQL. Siehe dazu folgende Links:
    * Foreign-Keys verwenden
    * Option LEFT (Leftjoin) - kann auch helfen

    "Carpe Diem" powered by positiv Feelings

  • Hi,
    ich versuch's mal:

    SQL
    SELECT projektname, projekt_id, todo FROM Projekt-Tabelle, Todo-Tabelle WHERE projekt_id=projekt_fid ORDER BY projektname;


    Das ist die Equi-Join Syntax anhand der Namen in Deinem Beispiel.

    MfG
    6_freddy