我想构建一个 SQL 查询,它将消除重复值DISTINCT
,然后Sum
将列值打印为标题并获得结果
样本数据 :-
ID TYPE Values
A FLM 00:34:09
A FLM 16:03:19
A SLM 00:37:48
B FLM 00:42:47
B SLM 01:14:56
C SLM 01:00:52
C SLM 00:37:48
我想为每个然后根据显示做Sum of Values
同样的事情TYPE
ID
Type
预期输出:
ID FLM SLM
A 16:37:28 00:37:48
B 00:42:47 01:14:56
C NULL 01:38:40
我得到了什么
ID FLM SLM
A 01:38:40 NULL
A NULL 00:37:48
B 00:42:47 NULL
B NULL 01:14:56
C NULL 01:38:40
在这里,我可以对每种类型进行求和,但结果显示在两个不同的行而不是单行中。
我的查询:
Select Distinct ID
CASE
When Type='SLM'
Then STR(SUM(DateDiff(s,[Start Date],[End Date]))/3600) +
RIGHT(CONVERT(char(8),DATEADD(s,SUM(DateDiff(s,[Start Date],[End Date])),0),108),6)
End[FLM],
CASE
When Type='SLM'
Then STR(SUM(DateDiff(s,[Start Date],[End Date]))/3600) +
RIGHT(CONVERT(char(8),DATEADD(s,SUM(DateDiff(s,[Start Date],[End Date])),0),108),6)
End[SLM],
From #_TicketType GROUP BY ID,Type
PS 使用[Start Date],[End Date]
数据类型的列DateTime
我Values
在示例数据表中得到列。