Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 选择多次出现的不同行数据_Sql Server - Fatal编程技术网

Sql server 选择多次出现的不同行数据

Sql server 选择多次出现的不同行数据,sql-server,Sql Server,我有这张桌子 visitID visitRel visitorID 1014 2114 3015 4016 5117 6017 我只想选择只有一个值为0的visitorID,而不是既有0又有1的visitorID,就像visitorID 14和17一样。只需将它们相加: create table #t (visitID int, visitRel int, visitorID int) insert #t values (1, 0, 14), (

我有这张桌子

visitID visitRel visitorID
1014
2114
3015
4016
5117
6017

我只想选择只有一个值为0的visitorID,而不是既有0又有1的visitorID,就像visitorID 14和17一样。

只需将它们相加:

create table #t (visitID int, visitRel  int, visitorID int)
insert #t values
(1,         0,                 14),
(2,         1,                 14),
(3,         0,                 15),
(4,         0,                 16),
(5,         1,                 17),
(6,         0,                 17)


select visitorid
from #t
group by visitorid
having sum(visitrel)=0

您需要在visitRel上使用having子句和distinct。谢谢您的提问,我只需要VisitorsID,它只有一个0出现,但不是同时出现0和1。如果visitRel允许mroe大于0,1(例如2),会发生什么情况?@xQbert为什么会有关系?op只对“只有0”的访问者感兴趣。这就是为什么你投了反对票?:)@xQbert您正在思考的是,值仅为1和0。请使用新的模式和示例数据编辑问题,或者打开一个新问题。@Dean请尝试使用sum(visitrel)=1。它选择17和14。我缺少什么吗