MySQL mit Joins

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

  • MySQL mit Joins

    Moin,
    ich habe mal eine kleine Frage, bei der ich nach einigem Überlegen partout nicht auf die richtige lösung kommen wollte:
    Ich habe momentan 2 Tabelle, in der einen stehen "Aufgaben", in der anderen wird eine Zuordnung "Projekt / Unteraufgabe" vorgenommen
    +-----------+
    |Aufgaben|
    +-----------+
    |id|aktuell |
    | 1| x|
    | 2| |
    | 3| x|
    +--+-------+

    +-------------------------+
    |Projekte |
    +-------------------------+
    |id|aufgaben_id|projekt_id|
    | 1| 1| 2|
    | 2| 3| 2|
    +--+--------------+------------+

    Die Anzeige ist so, dass, wenn ein Projekt existiert, immer nur da Projekt und nicht die Unteraufgaben angezeigt werden. Das läuft zur Zeit über
    SELECT a.* FROM aufgaben a LEFT JOIN projekte p ON a.id=p.aufgaben_id WHERE p.id IS NULL AND a.aktuell='x'

    Das ganze funktioniert, wie man sich leicht vorstellen kann, jedoch nur, so lange Projekt- und Unteraufgabe den gleich Status bei 'aktuell' haben.
    Ich möchte nun, dass, wenn ich alle aktuellen Einträge sehen möchte, sowohl die id3 als auch das Projekt (id2) angezeigt werden, da sich dort drin ja eine "aktuelle" Unteraufgabe befindet.
    Weiterhin soll das Projekt aber noch gelistet werden, wenn ich alle "unaktuellen" Aufgaben sehen möchte.

    Wie lässt sich das bewerkstelligen?

    Habe die tatsächliche Lage jetzt stark vereinfacht, aber der Grundgedanke wird hoffentlich klar. Bin echt verzweifelt und würde mich freuen, wenn ihr mir helfen könntet.

    Viele Grüße
    Benny
Lädt...
X