sgd-praktikum/SQL/PLSQL.sql

27 lines
647 B
MySQL
Raw Normal View History

2023-05-12 16:52:59 +02:00
2023-05-12 17:09:20 +02:00
2023-05-12 16:52:59 +02:00
CREATE OR REPLACE FUNCTION mostValuableClerk(months IN NUMBER) RETURN NUMBER
IS
startMonat DATE;
2023-05-12 17:09:20 +02:00
finalclerkid NUMBER;
maxanzahlcleanings NUMBER;
2023-05-12 16:52:59 +02:00
BEGIN
startMonat := ADD_MONTHS(SYSDATE,-months);
2023-05-12 17:09:20 +02:00
SELECT CLERKID, MAX(Anzahl) INTO finalclerkid, maxanzahlcleanings FROM
2023-05-12 16:52:59 +02:00
(
SELECT DISTINCT CLERKID, COUNT(CLERKID) AS Anzahl
From
(
SELECT clcl.CLERKID
FROM CLEANINGCLERK clcl
INNER JOIN CLEANINGPLAN clpl ON clcl.CLEANINGPLANID = clpl.CLEANINGPLANID
WHERE clpl."date" >= startMonat
)
GROUP BY CLERKID
2023-05-12 17:09:20 +02:00
)
GROUP BY CLERKID;
2023-05-12 16:52:59 +02:00
2023-05-12 17:09:20 +02:00
return finalclerkid;
2023-05-12 16:52:59 +02:00
END;