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
如何在SQLServer2008中进行选择_Sql_Sql Server 2008 - Fatal编程技术网

如何在SQLServer2008中进行选择

如何在SQLServer2008中进行选择,sql,sql-server-2008,Sql,Sql Server 2008,有问题 埃克萨姆勒 ID ID2 1 100 3 100 5 100 1 110 2 110 4 110 select * from table where ID in (1,4) ---executing not correctly select * from table where ID = '1' and ID = '4' ---not work 我需要ID2将“110”(选择具有

有问题

埃克萨姆勒

ID      ID2

1       100  

3       100

5       100

1       110

2       110

4       110




select * from table where ID in (1,4) ---executing not correctly

select * from table where ID = '1' and ID = '4' ---not work
我需要ID2将“110”(选择具有2个值ID的ID2)


谢谢。

如果您的ID很少,您可以使用
存在的

SELECT ID, ID2
FROM dbo.Table1 t1
WHERE EXISTS
(
   SELECT 1 FROM dbo.Table1 t2 
   WHERE t2.ID=1 AND t2.ID2=t1.ID2
)
AND EXISTS
(
   SELECT 1 FROM dbo.Table1 t2 
   WHERE t2.ID=4 AND t2.ID2=t1.ID2
)
AND ID IN (1, 4)
这将返回具有相同ID2且ID=1和ID=4的两条记录

ID  ID2
1   110
4   110

您希望得到什么结果?是否需要具有多个对应ID2的ID?或者您需要计数大于1的ID2?@jim我需要具有大于1个对应ID的IDID2s@user2943856看到下面的新答案谢谢大家,现在它起作用了,但是OP在两种方法中使用的ID
1
4
在哪里?@TimSchmelter作者对这个问题的描述对我来说不够清楚。我以为他的1和4只是个例子。他在评论线程中的最后一个答案是“我需要具有多个对应ID2的ID”,所以我完成了这项工作。他可以很容易地在内部查询中添加任何过滤器。谢谢!太好了
SELECT ID FROM (
SELECT ID, COUNT(*) OVER(PARTITION BY ID2) as cnt FROM Table) t
WHERE t.cnt>1