请参阅下表中的记录。
id employer current
-- ------- -------
1 IBM 0
1 Infosys 0
2 Microsoft 1
2 Google 0
3 Facebook 1
我想获取所有行id
为current
为0
的{{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' )
答案 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"子句和子查询使其复杂化?简单。