2012-11-26 56 views
1

可以说我有一个表,就是这样SQL查询,得到一个列,如果另一列等于X

x  y 
10 5 
10 8 
10 12 
11 9 
11 14 
11 12 
14 12 
14 5 
14 11  

我需要返回所有具有相同的值如果y = 5 X基所以,我需要一个查询将返回我的值是在X组10或14 查询:

select x, y from table ... 

应该返回我是这样的:

x y 
10 5 
10 8 
10 12 
14 12 
14 5 
14 11 

回答

3
select x, y 
from your_table 
where x in 
(
    select distinct x 
    from your_table 
    where y = 5 
) 
1
SELECT * 
FROM tableName 
WHERE x in 
    (
     SELECT DISTINCT x 
     FROM tableName 
     WHERE y = 5 
    ) 

或连接也可以解决它

SELECT a.* 
FROM tableName a 
     INNER JOIN 
     (
      SELECT DISTINCT x 
      FROM tableName 
      WHERE y = 5 
     ) b ON a.x = b.x 
相关问题