Queries/Anzahl Termine nach Leistung in einem Jahr - Für die Kette

This commit is contained in:
2025-08-01 13:00:07 +02:00
parent 968846a58f
commit 3081b2d19f

View File

@@ -0,0 +1,27 @@
-- Anzahl Termine nach Leistung einer bestimmten Leistungskategorie im Jahr
-- Bei Kette e.V. 9383760246 (APP2)
-- Leider lassen sich die Spaltenüberschriften nicht flexibel setzen, wenn neue Leistungen dazu kommen. Aber "Restspalte" fängt es auf
SELECT
org.Name AS Jugendamt,
YEAR(':Jahr_Start') AS Jahr,
COUNT(CASE WHEN sd.ServiceCategoryOid = 47 THEN 1 END) AS 'Termine insgesamt',
COUNT(CASE WHEN sr.ServiceDescriptionOid = 136 THEN 1 END) AS Ketteräume,
COUNT(CASE WHEN sr.ServiceDescriptionOid = 135 THEN 1 END) AS aufsuchend,
COUNT(CASE WHEN sr.ServiceDescriptionOid = 125 THEN 1 END) AS Video,
COUNT(CASE WHEN sr.ServiceDescriptionOid = 109 THEN 1 END) AS Telefonkontakt,
COUNT(CASE WHEN sr.ServiceDescriptionOid = 112 THEN 1 END) AS Hilfeplangespräch,
COUNT(CASE WHEN sr.ServiceDescriptionOid = 137 THEN 1 END) AS 'E-Mail',
COUNT(CASE WHEN sr.ServiceDescriptionOid = 138 THEN 1 END) AS Fahrtzeit,
COUNT(CASE WHEN sr.ServiceDescriptionOid = 140 THEN 1 END) AS 'Terminabsage (<24h)',
COUNT(CASE WHEN sd.ServiceCategoryOid = 47 AND sr.ServiceDescriptionOid NOT IN (109, 112, 125, 135, 136, 137, 138, 140) THEN 1 END) AS 'Weitere Leistungen',
(COUNT(CASE WHEN sr.ServiceDescriptionOid = 135 THEN 1 END) /
(COUNT(CASE WHEN sr.ServiceDescriptionOid = 136 THEN 1 END) + COUNT(CASE WHEN sr.ServiceDescriptionOid = 125 THEN 1 END))) AS 'aufsuchend / Ketteräume + Video'
FROM servicerecord sr
JOIN costbearer2supportconcept cb2sc ON sr.CostBearer2SupportconceptOid = cb2sc.Oid
JOIN organisation org ON cb2sc.CostBearerOid = org.Oid
JOIN servicedescription sd ON sr.ServiceDescriptionOid = sd.Oid
WHERE StartDate >= ':Jahr_Start' and EndDate <= ':Jahr_End'
GROUP BY org.Name
ORDER BY org.Name;
-- SELECT * FROM `9383760246`.servicedescription where ServiceCategoryOid = 47;