Zelf ben ik vrij nieuw met mysql en loop tegen het volgende probleempje aan:
De tabel Jobs.TripID omvat de te verrichten werkzaamheden onderverdeeld in de verschillende taken Jobs.JobID. De tabel Joblogs bevat de status van de Jobs.
Nu heb ik onderstaande query gemaakt:
Output is zo iets als:
Zoals jullie waarschijnlijk al opvalt zal de kolom werkelijke tijd altijd de tijd bevatten van het afronden van de activiteit. Terwijl deze de tijd zal moeten bevatten van het starten van de activiteit. Zelf heb ik al diverse zaken geprobeerd, ik krijg het echter niet van de grond. Wellicht dat iemand mij kan helpen, bedankt
De tabel Jobs.TripID omvat de te verrichten werkzaamheden onderverdeeld in de verschillende taken Jobs.JobID. De tabel Joblogs bevat de status van de Jobs.
Nu heb ik onderstaande query gemaakt:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| SELECT Jobs.TripID, Jobs.JobID, DATE_FORMAT(Jobs.SortTime, '%T'), DATE_FORMAT(DATE_ADD( JobLogs.LogTime ,INTERVAL JobLogs.LogTimeZone MINUTE), '%T'), MAX(JobLogs.LogCode) FROM JobLogs, Jobs WHERE Jobs.JobID = JobLogs.JobID AND ((DATE_FORMAT(Jobs.SortTime, '%Y-%m-%d')) = (DATE_FORMAT(NOW(), '%Y-%m-%d'))) GROUP BY Jobs.TripID, Jobs.JobID ORDER BY Jobs.TripID, Jobs.JobID |
Output is zo iets als:
Trip | Job | Geplande tijd | Werkelijke tijd | Status (1000, is toegevoegd, 1500 is gestart, 2000 is afgerond) |
1 | 1 | 10:00:00 | 10:30:00 | 2000 |
1 | 2 | 11:00:00 | 11:30:00 | 1500 |
1 | 3 | 12:00:00 | 12:30:00 | 1000 |
Zoals jullie waarschijnlijk al opvalt zal de kolom werkelijke tijd altijd de tijd bevatten van het afronden van de activiteit. Terwijl deze de tijd zal moeten bevatten van het starten van de activiteit. Zelf heb ik al diverse zaken geprobeerd, ik krijg het echter niet van de grond. Wellicht dat iemand mij kan helpen, bedankt
[ Voor 5% gewijzigd door NMe op 26-01-2011 15:18 ]