sql - 根据工作代码显示表格中的不同字段
问题描述
我对如何编写一些 Oracle SQL 代码以根据 job_type_code 的内容显示不同的字段值有一些想法。
如果 job_type_code 是 EN11 或 EN12,则唯一需要返回的作业是 target_comp_date 过去的作业。
如果 job_type_code 是 EN90 或 EN91,则所有作业都应与 target_comp_date 一起显示。
我尝试输入的代码如下。
select
case
when job_type.job_type_code in ('EN11','EN12') and job.target_comp_date < SYSDATE then
job.target_comp_date
when job_type.job_type_code in ('EN90','EN91') then job.target_comp_date
else 'check'
end as Test
from
job
inner join job_type on job.job_type_key = job_type.job_type_key
解决方案
中的case
表达式select
不会过滤任何数据。这听起来像一个where
子句:
where (job_type_code in ('EN11', 'EN12') and target_comp_date < sysdate
) or
(job_type_code in ('EN90', 'EN91') and target_comp_date > sysdate
)
目前尚不清楚您是否想要其他job_type_codes
. 如果是这样,请添加or (job_type_code not in ('EN11', 'EN12', 'EN90', 'EN91')
.
推荐阅读
- maven - 在不同的浏览器中同时运行一个特性文件 - Selenium cucumber maven 框架
- javascript - 单击按钮时,在不同的 div 中以高图呈现所有饼图的饼图
- material-ui - React Material Design 选择和样式化组件
- python - NameError 错误 python3
- node.js - AWS Lambda 执行 15-20 秒以将遥测事件发送到 Azure Application Insights
- git - 沉默 git rebase --interactive 的“如何进行”消息
- perl - 迭代时无意中将键添加到哈希
- pandas - 如何根据熊猫中的条件获得加入?
- ios - 如何在 RXSwift 中重置 Observable 区间运算符?
- sequelize.js - 我得到的这个“defineCall 不是函数”错误是什么?