2010-12-21 59 views
2

查询SQL表我想从下面具有多个值

ID Val 
------------- 
1 5 
1 7 
1 8 
1 9 
2 5 
2 7 
2 9 
3 1 
3 5 

,将返回以下结果集 查询来查询一个SQL表>从dbo.table选择不同ID其中val(5, 7,9)

result 
-------- 
ID 
1 
2 

我碰到一个问题,即单个行可以从子集仅匹配一个VAL,而不是所有的人......

+2

我不明白这个问题......有一个与Val 5相关联的1,2和3的ID。你想从结果集中排除3什么样的条件? – tenfour 2010-12-21 19:55:54

+0

ID 3不包含值7和9. – mko 2010-12-21 20:12:25

回答

2

假设行是不同的:

SELECT ID 
FROM your_table 
WHERE Val IN (5,7,9) 
GROUP BY ID 
HAVING COUNT(*) = 3