Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 2008 SQL Server 2008查询满足多个条件的成员_Sql Server 2008 - Fatal编程技术网

Sql server 2008 SQL Server 2008查询满足多个条件的成员

Sql server 2008 SQL Server 2008查询满足多个条件的成员,sql-server-2008,Sql Server 2008,我搜索了这个,发现了类似的查询,但没有一个给出我正在寻找的具体结果 我有一张电话号码表。我需要一份所有原始号码的列表,他们分别拨打了三个不同的术语号码 我试过: SELECT OrigNumber FROM tbl_DetailCalls WHERE (TermNumber='2463332121' AND TermNumber='2463334920' AND TermNumber='2463339901') GROUP BY OrigNumber 我只需要满足条件的每个OrigNumber

我搜索了这个,发现了类似的查询,但没有一个给出我正在寻找的具体结果

我有一张电话号码表。我需要一份所有
原始号码
的列表,他们分别拨打了三个不同的
术语号码

我试过:

SELECT OrigNumber FROM tbl_DetailCalls
WHERE (TermNumber='2463332121' AND TermNumber='2463334920' AND TermNumber='2463339901')
GROUP BY OrigNumber
我只需要满足条件的每个
OrigNumber
的一个实例

谢谢

Select orignumber
From tbl_DetailCalls
Where termnumber in ('2463332121', '2463334920', '2463339901')
Group by orignumber
Having count(distinct termnumber)>=3

对不起,格式不对。从电话里发来的

您能否向我们展示表格定义(列、数据类型)和示例数据,以及该示例数据所需的输出???OrigNumber CHAR TermNumber=TermAreaExchange INT+TermNumber CHAR
谢谢,这很有效,或者至少给出了一个结果。但我不确定这如何保证满足所有条件(即OrigNumber调用了三个TermNumber中的每一个)。@user1024050:
Where TermNumber in('246332121','246334920','246339901')
仅选择与三个给定
TermNumber
值中至少一个匹配的项
具有count(distinct termnumber)>=3,在
group by
之后进行计算,进一步过滤结果,只留下至少有3个不同关联
termnumber
原始编号
(实际上是
WHERE
子句中指定的编号)。它可能只是
count(distinct termnumber)=3
,而不是
..>=3
,因为在这种情况下,计数永远不能超过3。@user1024050:简单地说,我们的想法是选择与指定值匹配的项,然后作为下一步,只保留与所有值匹配的项。(我们指定了3个项目,所以要检查的计数也应该是3。)@AndriyM感谢您的解释(和编辑);我终于回到了真正的键盘上。你的解释很完美。另一方面,我使用>=以防业务规则更改为“呼叫[x]个号码中的3个”否;这就是独立项在计数中的作用;它只计算每个原始编号的唯一术语编号