Ich habe view_dtr
mit Spalten Undertime
, LateAM
und LatePM
Ich muss die bekommen TotalUndertime
wenn entweder LateAM
oder LatePM
IS NOT NULL
.Erhalten der Summe pro Monat basierend auf den Daten einer anderen Spalte, wenn es nicht Null ist, daher, wenn es Null ist, dann wird es nicht zur Summe hinzugefügt
| EmpID | DatePresent | Undertime | LateAM | LatePM |
| 305001 | 2016-04-01 | 00:10:00 | 01:00:00 | 00:12:00 |
| 305001 | 2016-04-02 | 00:15:00 | | |
| 305001 | 2016-04-03 | 00:20:00 | 00:05:00 | |
| 305001 | 2016-04-04 | 00:05:00 | | 00:01:00 |
| 305002 | 2016-04-01 | 00:01:00 | | 00:10:00 |
| 305002 | 2016-04-02 | 00:10:00 | | |
| 305002 | 2016-04-03 | 00:10:00 | 00:02:00 | 00:03:00 |
Die TotalUndertime
für EmpID = 305001
nur 00:35:00
sein sollte und EmpID = 305002
00:11:00
sein sollte. Ich bekomme immer die ganze Summe mit der CASE
Anweisung.
CASE WHEN LateAM IS NOT NULL AND Undertime IS NOT NULL
THEN SEC_TO_TIME(SUM(TIME_TO_SEC(Undertime)))
WHEN LatePM IS NOT NULL AND Undertime IS NOT NULL
THEN SEC_TO_TIME(SUM(TIME_TO_SEC(Undertime)))
ELSE NULL
END AS TotalUndertime
FROM view_dtr
GROUP BY EmpID, MONTH(DatePresent)
Jede Hilfe und Vorschlag wird sehr geschätzt. Entschuldigung dafür, ein Neuling zu sein.
Können Sie Daten einschließlich EmpID und DatePresent Spalten posten? – olegsv