您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页NOTIN使用注意事项

NOTIN使用注意事项

来源:意榕旅游网

无详细内容 无 下午被一条SQL折磨了select EMP_ID,EMP_NUM,NAME from employee WHERE emp_id in ( select distinct E.emp_id from EMPLOYEE E INNER JOIN PROJECT_EMPLOYEE pe on e.emp_id = pe.emp_id INNER JOIN PROJECT p on pe.pro_id = p.pro_id where p

<无详细内容> <无> $velocityCount-->
下午被一条SQL折磨了
select EMP_ID,EMP_NUM,NAME
 from employee 
 WHERE 
 emp_id in
 (
 select distinct E.emp_id
 from EMPLOYEE E 
 INNER JOIN PROJECT_EMPLOYEE pe on e.emp_id = pe.emp_id
 INNER JOIN PROJECT p on pe.pro_id = p.pro_id
 where pe.pro_id ='B49CBE19481447A684461E7BE02B13'
 );//3条数据
因为业务上有变更,需要在此SQL基础上加上一些其他,修改后的SQL:
select EMP_ID,EMP_NUM,NAME
 from employee 
 WHERE 
 emp_id in
 (
 select distinct E.emp_id
 from EMPLOYEE E 
 INNER JOIN PROJECT_EMPLOYEE pe on e.emp_id = pe.emp_id
 INNER JOIN PROJECT p on pe.pro_id = p.pro_id
 where pe.pro_id ='B49CBE19481447A684461E7BE02B13'
 and e.emp_id not in (select s.emp_id from salesteam s )
 );//0条数据,把not in 改成in有1条数据
纠结很久,发现是因为not in 后面的查询条件select s.emp_id from salesteam s所返回的数据中存在null的原因

解决办法就是将not in的子查询中加上is not null的条件
select s.emp_id from salesteam s where s.emp_id is not null

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务