J'ai view_dtr
avec les colonnes Undertime
, LateAM
et LatePM
Je dois obtenir le TotalUndertime
si LateAM
ou LatePM
IS NOT NULL
.obtenir la somme par mois en fonction des données d'une autre colonne si elle n'est pas nulle, donc si elle est nulle alors il ne sera pas ajouté au total
| 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 |
Le TotalUndertime
pour EmpID = 305001
ne doit être 00:35:00
et EmpID = 305002
devrait être 00:11:00
. Je continue à obtenir la somme entière en utilisant l'instruction CASE
.
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)
Toute aide ou suggestion est grandement appréciée. désolé d'être un débutant.
Pouvez-vous publier des données, y compris les colonnes EmpID et DatePresent? – olegsv