1

--A=100,B=50,C=200

DECLARE @T1 TABLE (CAT1 VARCHAR(1),CAT2 VARCHAR(1),MinVal int)
INSERT INTO @T1
SELECT 'A','A',100
UNION ALL
SELECT 'A','B',50
UNION ALL
SELECT 'A','C',100
UNION ALL
SELECT 'B','A',50
UNION ALL
SELECT 'B','B',50
UNION ALL
SELECT 'B','C',50
Union all
SELECT 'C','A',100
UNION ALL
SELECT 'C','B',100
UNION ALL
SELECT 'C','C',200

select * from @T1

我必须计算 MinValue 的总和,它应该只包括 (AB,AC,BC) 作为 AB=BA 的任何最小值,所以只需要取一个。

所以结果我想从 9 行中得到 3 行。

Cat1|Cat2|MinVal
A|B|50
A|C|100
B|C|50

任何帮助将不胜感激。

早些时候我尝试了下面的事情,但没有奏效。

Select * from @T1 where Cat1<>Cat2 and ?

(我需要写什么条件以避免不希望的组合。)

这是一个链接

4

0 回答 0