简体   繁体   English

如何在SQL Server 2008中选择

[英]How to select in SQL Server 2008

Have an issue 有问题

Examle 考试

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

I need that ID2 will '110' (select ID2 which have 2 value ID) 我需要ID2为“ 110”(选择具有2个值ID的ID2)

Thanks. 谢谢。

If you have few ID's you can use EXISTS : 如果您的ID很少,则可以使用EXISTS

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)

This returns the two records that have the same ID2 and ID=1 AND ID=4. 这将返回两个具有相同ID2和ID = 1 AND ID = 4的记录。

ID  ID2
1   110
4   110

Demo-Fiddle 演示小提琴

SELECT ID FROM (
SELECT ID, COUNT(*) OVER(PARTITION BY ID2) as cnt FROM Table) t
WHERE t.cnt>1

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM