Member 12097108 Ответов: 1

Как я могу использовать sum() в запросе SQL server 2008


Привет,
пусть мы имеем два timespent как
Время=2:18 часов &&усилителя; время ожидания=2:22 часов-так TimeSpent-4 минуты
TimeIn=2: 49PM& & amp; TimeOut=2:50PM, так что TimeSpent составляет 1 минуту
Я хочу добавить этот ответ TImeSpent как 5,
просто я могу его получить,но в соответствии с моим запросом, как я могу его получить.

Я получаю ошибку типа select list, потому что она не содержится ни в агрегатной функции, ни в предложении GROUP BY.

Что я уже пробовал:

SELECT
CONVERT(varchar(5),ISNULL(DATEADD(minute, DATEDIFF(minute, T.AttendanceTimeIn, ISNULL(T.AttendanceTimeOut,SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30'))), 0),0)- 
(ISNULL(DATEADD(minute, DATEDIFF(minute, T.MealbreakTimeIn, ISNULL(T.MealbreakTimeOut,SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30'))), 0),0) +
ISNULL(DATEADD(minute, sum(DATEDIFF(minute,V.TeabreakTimeIn,ISNULL(V.TeabreakTimeOut,SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30')))),0),0) +
ISNULL(DATEADD(minute, DATEDIFF(minute, T.OtherbreakTimeIn, ISNULL(T.OtherbreakTimeOut,SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30'))), 0),0)),114) AS [TimeSpentWork]
FROM TeaBreaks V,DailyTimeTrackers T ;

1 Ответов

Рейтинг:
0

OriginalGriff

SUM-это агрегатная функция - она используется для суммирования всех значений в столбце, поэтому вы можете использовать ее для сбора итогов продаж по продавцам:

SELECT SalesName, SUM(SaleValue) FROM MyTable GROUP BY SalesName

Вы не используете его, чтобы попытаться сложить часть столбца с другими частями того же столбца.

И, честно говоря, я понятия не имею, что должен делать этот SQL и почему вы делаете его таким сложным. Вернитесь к своим полным данным и внимательно посмотрите, что именно вы пытаетесь сделать. Глядя на другие ваши вопросы, я думаю, что вам нужно сделать шаг назад и пройти быстрый курс повышения квалификации по SQL и базам данных в целом, потому что вы, кажется, не понимаете ничего из того, что происходит.