我想将表的不同行汇总到不同的列中。我有一个ID列,其中包含多次。当我尝试汇总时间表时,提示无法汇总时间数据类型。
这是我的查询像atm的内容:
select t.Id,
a.EndTime,
cast(A.Endtime as time)[time]
from [plugin.tickets].Ticket as T
join
[plugin.tickets].TicketActivity as TA ON TA.TicketId = T.Id
join
dbo.Activity as A on A.Id = TA.ActivityId
以下是此查询的输出:
您会看到ID号有多次。如何求和这些值?
编辑: 我将查询更改如下:
select t.Id
,a.EndTime
,convert (varchar(5), EndTime,108) as Tijd
from [plugin.tickets].Ticket as T
join
[plugin.tickets].TicketActivity as TA ON TA.TicketId = T.Id
join
dbo.Activity as A on A.Id = TA.ActivityId
我只想在ID编号相同的地方加总。
谢谢
破旧
答案 0 :(得分:0)
您应该查看两个函数DATEPART和DATEADD。我假设您在这里使用T-SQL。因此,您可以将时间字段转换为小时,例如,您将得到17,然后在“结束时间”字段上使用日期添加。
https://docs.microsoft.com/en-us/sql/t-sql/functions/datepart-transact-sql?view=sql-server-2017