Я пытаюсь показать, что каждый пользователь тратит свое время на неделю (внутренняя или внешняя работа), но время все в одном столбце таблицы, можно ли разбить его в 2 разных столбца и все еще иметь его так, чтобы он показывал только каждый пользователь один раз, не каждый раз, когда они вводили время, которое может быть несколько раз в течение недели.Проблема с противоречивым предложением where
В приведенном ниже SQL ниже указано, что каждый пользователь отслеживает время недели, но внутреннее и внешнее в разных строках.
SELECT SUM(FilteredMag_Time.mag_hoursspent) AS Time,
FilteredSystemUser.fullname,
FilteredMag_project.mag_typename
FROM FilteredSystemUser
INNER JOIN FilteredMag_Task
INNER JOIN FilteredMag_project ON FilteredMag_Task.mag_projectid = FilteredMag_project.mag_projectid
INNER JOIN FilteredMag_Time ON FilteredMag_Task.mag_taskid = FilteredMag_Time.mag_taskid
ON FilteredSystemUser.systemuserid = FilteredMag_Time.createdby
WHERE (FilteredMag_Time.mag_starttime BETWEEN DATEADD(dd, - (DATEPART(dw, GETDATE()) - 1), GETDATE())
AND DATEADD(dd, - (DATEPART(dw, GETDATE()) - 7), GETDATE()))
GROUP BY FilteredSystemUser.fullname, FilteredMag_project.mag_typename
ORDER BY FilteredSystemUser.fullname
Вот пример текущего вывода.
Time fullname mag_typename
------------------ --------------------- -------------------------
1.2500000000 David Sutton External
8.2500000000 Gayan Perera External
9.0000000000 Paul Nieuwelaar Internal
14.8700000000 Roshan Mehta External
6.0000000000 Roshan Mehta Internal
2.7800000000 Simon Phillips External
4.6600000000 Simon Phillips Internal
Можете ли вы предоставить данные примера и ожидалось вывод? –