【发布时间】:2019-10-07 10:56:03
【问题描述】:
我目前正在尝试找出在 DB2 for Iseries 中将条件计数作为别名的最佳方法。以下值表示可以创建、完成和取消作业的作业状态,因此任何一项作业都可能附加多个状态代码。
但是,对于我的最终价值,我正在尝试计算仅具有已创建状态的工作,以便我可以显示仍有多少工作处于开放状态。基本上寻找创建案例的计数= 1的案例,但以下在'='处失败
SELECT
COUNT(CASE A1.JOB WHEN = 'CREATED' THEN 1 END) AS CREATED,
COUNT(CASE A1.JOB WHEN = 'CANCELLED' THEN 1 END) AS CANCELLED,
COUNT(CASE WHEN A1.JOB 'CREATED' = 1 then 1 END) AS OPEN
FROM SCHEMA.TABLE A1;
样本数据和结果:
Job ID | Status_code
-------------------------
123 'CREATED'
123 'COMPLETED'
521 'CREATED'
521 'CANCELLED'
645 'CREATED'
结果:
JOB | CREATED | CANCELLED | OPEN
-------------------------------------------
123 1 0 0
521 1 1 0
645 1 0 1
【问题讨论】:
-
样本数据和期望的结果会有所帮助。
-
@GordonLinoff 抱歉,现在才添加