首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SQL Server中为以下内容编写条件

如何在SQL Server中为以下内容编写条件
EN

Stack Overflow用户
提问于 2018-08-14 14:42:55
回答 5查看 70关注 0票数 0

我有一张这样的桌子

代码语言:javascript
复制
create table test (custID varchar(20), currNo int)
insert into test 
values ('00123', 1) ,('00123', 2), ('00123', 3),
        ('00124', 2), ('00124', 3),
        ('00125', 3),('00125', 4),
        ('00126', 1),('00126', 3)

我只需要选择那些currNo != 1但currNo >1的custID

下面是我的代码片段;

代码语言:javascript
复制
select distinct custID from test
where currNo != 1 and currNo > 1

以上查询结果:

代码语言:javascript
复制
00123
00124
00125
00126

异常结果:

代码语言:javascript
复制
00124
00125

请更正我的查询以获得所需的输出。提前谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-08-14 14:49:45

使用适用于currNo的简单GROUP BYHAVING条件

代码语言:javascript
复制
SELECT custID FROM #test
GROUP BY custID
HAVING MIN(currNo)<>1

结果

代码语言:javascript
复制
custID
00124
00125
票数 3
EN

Stack Overflow用户

发布于 2018-08-14 14:48:29

代码语言:javascript
复制
select distinct contractid from test
where not exists(select * from test t2 where t2.contractid=test.contractid and t2.currNo=1)
票数 2
EN

Stack Overflow用户

发布于 2018-08-14 14:51:04

使用not in

代码语言:javascript
复制
  select distinct custID from test
where custID not in (select custID from test t2 where t2.custID=test.custID and t2.currNo=1)

http://sqlfiddle.com/#!18/ee7c0e/10

代码语言:javascript
复制
custID
00124
00125
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51835188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档