从mysql中的表中选择current不等于1

时间:2016-05-09 05:58:34

标签: mysql

请参阅下表中的记录。

id employer current
-- -------  -------
1  IBM       0
1  Infosys   0
2  Microsoft 1
2  Google    0
3  Facebook  1

我想获取所有行idcurrent0的{​​{1}}列表,如下所示

渴望输出

id employer current
-- -------  -------
1  IBM       0
1  Infosys   0

我建立了如下查询;但是有一个单行解决方案吗?请帮帮我。

SELECT * FROM tb_work where id NOT IN ( select id from tb_work  where current = '1' )

2 个答案:

答案 0 :(得分:0)

您可以使用NOT EXISTS

SELECT * 
FROM tb_work t1
WHERE NOT EXISTS (SELECT 1 
                  FROM tb_work t2
                  WHERE t1.id = t2.id AND t2.current = 1)

答案 1 :(得分:0)

你使它变得有点复杂,如果你做文书工作,你会在你的工作中看到正确的解决方案。喜欢

   SELECT * FROM [tb_work] WHERE current = '0' 

为什么你正在使用" NOT IN"子句和子查询使其复杂化?简单。