Hallo,
ich stehe gerade bei einer SQL Abfrage auf dem Schlauch und bin auf der Suche nach einem kleinen Anregung, wie ich das Problem lösen kann.
Ich habe in der Datenbank Vorgänge, denen mehrere Maßnahmen zugeordnet sein können:
Vorgang 1 -> Maßnahme 1 & 3
Vorgang 2 -> Maßnahme 2 & 1 & 3
Vorgang 3 -> Maßnahme 1
Nun möchte ich gerne die Anzahl der Vorgänge mit bestimmten Bedingungen zählen:
Anzahl der Vorgänge, die Maßnahme 1 & 2 enthalten;
Anzahl der Vorgänge, die Maßnahme 3 enthalten.
Mit
kann ich ja eine Zählung sämtlicher Maßnahmen durchführen, die nicht die ID 3 haben. Wie kann ich jetzt sicherstellen, dass jeder Vorgang nur einmal gezählt wird, auch wenn mehrere Maßnahmen enthalten sind? Ich habe schon mit DISTINCT rumprobiert, allerdings ist dabei kein brauchbares Ergebnis rumgekommen.
Würde mich über einen Hinweis freuen, der das Chaos in meinem Kopf strukturiert!
ich stehe gerade bei einer SQL Abfrage auf dem Schlauch und bin auf der Suche nach einem kleinen Anregung, wie ich das Problem lösen kann.
Ich habe in der Datenbank Vorgänge, denen mehrere Maßnahmen zugeordnet sein können:
Vorgang 1 -> Maßnahme 1 & 3
Vorgang 2 -> Maßnahme 2 & 1 & 3
Vorgang 3 -> Maßnahme 1
Nun möchte ich gerne die Anzahl der Vorgänge mit bestimmten Bedingungen zählen:
Anzahl der Vorgänge, die Maßnahme 1 & 2 enthalten;
Anzahl der Vorgänge, die Maßnahme 3 enthalten.
Mit
Code:
sum(case when Massnahme.id NOT LIKE 3 then 1 else 0 end)
Würde mich über einen Hinweis freuen, der das Chaos in meinem Kopf strukturiert!