0

有问题

示例

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)

谢谢。

4

2 回答 2

0

如果您的 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)

这将返回具有相同 ID2 和 ID=1 AND ID=4 的两条记录。

ID  ID2
1   110
4   110

演示小提琴

于 2013-11-10T14:05:18.303 回答
0
SELECT ID FROM (
SELECT ID, COUNT(*) OVER(PARTITION BY ID2) as cnt FROM Table) t
WHERE t.cnt>1
于 2013-11-10T14:31:28.770 回答