下午被一条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 ='B49CBE19481447A68445461E7BE02B13'
);//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 ='B49CBE19481447A68445461E7BE02B13'
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 热门文章更多>>
标签更多>>
专题更多>>
最新文章更多>>
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
- 使用 C# 6.0 功能运行 TFS 构建
达?矢抾哆拉?