2010-12-21 98 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