56,677
社区成员
发帖
与我相关
我的任务
分享
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([name1] nvarchar(21),[name2] nvarchar(21),[time] int)
Insert #T
select N'A',N'B',10 union all
select N'A',N'B',20 union all
select N'B',N'A',30 union all
select N'A',N'C',40
Go
--测试数据结束
SELECT t.name1,t.name2,SUM(T3.time) AS time FROM (
SELECT DISTINCT T1.name1,
T1.name2
FROM #T T1
WHERE NOT EXISTS ( SELECT T2.name1
FROM #T T2
WHERE T1.name1 = T2.name2
AND T1.name2 = T2.name1
AND T1.name1 > T2.name1))t
JOIN #T T3 ON (T3.name1 = t.name1 AND T3.name2 = t.name2) OR (T3.name2 = t.name1 AND T3.name1 = t.name2)
GROUP BY t.name1,t.name2