【发布时间】:2018-02-19 15:48:06
【问题描述】:
创建表#Temp(Number Varchar(20), Category Varchar(20))
Insert Into #Temp
Select '123', '-A'
Union all
Select '123', 'A'
Union all
Select '123', 'A'
Union all
Select '123','B'
Union all
Select '123','-B'
Select * From #temp
result set
---------------------------
Number Category
123 -A
123 A
123 A
123 B
123 -B
123 C
123 -C
123 -C
---------------------------
从上面的一组数据中,当有 2 个 -A 和一个 A 时,我需要查询只显示一个 A。
我所需要的只是在上面的示例中,在必要时取消 -A 和 A 的输出,
查询应该只返回以下内容
result set
---------------------------
Number Category
123 A
123 -C
---------------------------
【问题讨论】:
-
请修复您的样本数据,
-C来自哪里,B和-B发生了什么?我是否正确假设您想保留最常出现的那个? -
如果我理解的话,您希望字母值相互抵消吗?就像它们是整数一样,A 的“总和”是 1,B 是 0,C 是 -1?如果 B=0 则不显示?
标签: sql sql-server