SQL Query,如果另一列等于x,则获取列

时间:2012-11-26 13:50:53

标签: mysql sql

假设我有一张像这样的表

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

如果y = 5,我需要返回具有相同值的所有x组 所以我需要一个查询,它会返回值为10或14的x组。 查询:

select x, y from table ...

应该给我这样的东西:

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

2 个答案:

答案 0 :(得分:3)

select x, y
from your_table
where x in 
(
  select distinct x
  from your_table
  where y = 5
)

答案 1 :(得分: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