我有三個表:總和給出錯誤的總
- users_timings_log
- projects_tasks
- projects_modules
我想計算花在總小時以module_id 2爲例的任務
我對它使用以下查詢:
SELECT SEC_TO_TIME(SUM(TIMESTAMPDIFF(SECOND, `start_date`, `end_date`)))
AS `total_hours`
FROM `users_timings_log`
INNER JOIN `projects_tasks` ON users_timings_log.type_id = projects_tasks.id
LEFT JOIN `projects_modules` ON projects_tasks.module_id = '2'
WHERE `type` = '0'
這是我users_timings_log
表
+-------+---------------------+---------------------+------+---------+
| ID | start_date | end_date | type | type_id |
+-------+---------------------+---------------------+------+---------+
| 1 | 2015-09-17 09:00:00 | 2015-09-17 19:00:00 | 1 | 28 |
| 2 | 2015-09-17 07:00:00 | 2015-09-17 12:00:00 | 1 | 24 |
| 3 | 2015-09-17 08:00:00 | 2015-09-17 16:15:00 | 1 | 18 |
| 4 | 2015-09-17 10:00:00 | 2015-09-17 17:00:00 | 1 | 24 |
+-------+---------------------+---------------------+------+---------+
這裏的結構是我projects_tasks
表的結構
projects_modules
+-------+---------------+-----------------------------+-----------+
| ID | name | description | module_id |
+-------+---------------+-----------------------------+-----------+
| 18 | First task | Some useless description | 1 |
| 24 | Second task | Another useless description | 2 |
| 28 | Third task | NULL | 3 |
+-------+---------------+-----------------------------+-----------+
+-------+---------------+
| ID | name |
+-------+---------------+
| 1 | Module 1 |
| 2 | Module 2 |
| 3 | Module 3 |
+-------+---------------+
我需要的是某個特定模塊的小時總數,但由於某種原因,它給了我每個模塊相同的時間量。
我被卡住了。我究竟做錯了什麼?
在此先感謝
和users_timings_log.id總是1(類型)? – Strawberry
對不起,我會改變 –
是的類型是在這種情況下總是1,因爲。它曾經是枚舉(0,1),但決定撤銷0.我稍後會改變它。 –