MySQL根据条件选择两列值至少出现一次的行

时间:2016-07-24 20:15:49

标签: mysql sql conditional-statements where

我有这样的查询SELECT col1, col2 FROM t WHERE col1>1645 AND (col2=5 OR col2=7 OR col2=9) 并且我想获得col1的某个值的所有行,col2上的条件给出的所有值都存在。所以e。 G。从这些记录中

1700, 5
1700, 7
1700, 8
1700, 9

3将被选中,而以下将没有,因为缺少col2 = 7

1800, 4
1800, 5
1800, 6
1800, 9

2 个答案:

答案 0 :(得分:2)

嗯,我觉得这有点棘手。我们的想法是找到包含function sayWelcome(name) { document.write("Welcome to our page " + name); } 所有三个值的col1值。然后,查询表格以获取匹配的col2col1值。

col2

答案 1 :(得分:0)

也许我想念你的问题,但这就是你要问的问题吗? :

Select * from T INNER JOIN 
(
    select Col1 , Count(Distinct Col2) as Check_All_Values From  T 
    Where T.Col2 in ( 5,7,9 ) 
    Group by Col1 
    Having Count(Distinct Col2)  = 3
) B
ON T.id = B.id 
WHERE T.Col2 in ( 5,7,9 )