如何根据每个组的开始和完成阶段返回一个数字?

魔术师200777

我的项目有多个阶段的开始和完成。我喜欢基于具有开始日期但没有完成日期的查询来返回项目当前所在的当前阶段号。如果所有阶段都已完成(都有完成日期),则应返回4。另一个假设是,所有阶段均应从阶段1开始按顺序完成。

PRJ   Start1   Complete1   Start2    Complete2   Start3    Complete3
A    3/1/2019  3/5/2019   3/6/2019   3/9/2019   3/9/2019
B    2/2/2019
C    4/1/2019  4/2/2019   4/13/2019
D    3/2/2019  4/5/2019   4/6/2019   4/7/2019   5/9/2019   6/20/2019

Desired:
PRJ   Current_Phase
A           3
B           1
C           2
D           4

我不确定如何开始。

提前致谢!!!

戈登·利诺夫

您想要第一个null值。用途switch()

select t.*,
       switch(complete1 is null, 1,
              complete2 is null, 2,
              complete3 is null, 3,
              1=1, 4
             ) as current_phase
from t;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果给定一个整数列表和一个称为x的数字,如何递归返回列表中每个第x个数字的和

将一个数字加到一个数组中以完成一组数字

如何编写一个接受一个数字并返回一个三元组列表的函数“三元组”?

如何根据另一个数据帧的2个列(开始和结束)中指定的范围来标记一个数据帧的行?

如何返回带有第一个和最后一个数字的数组?

如何从Node.js和MongoDB中的最后一个数字开始自动递增

如何在javascript中以固定间隔创建计时器?和选项从一个数字开始?

如何知道一个数字是否在一个组的 x 区间内

获取每个组和序列的开始和结束日期,由一个日期列得出

如何开始遍历另一个索引的数组并完成整个数组

返回排序数组中每个数字的最后一个满足的函数

如何使的charAt()返回一个数字,你可以在一个阵列填?

从函数返回一个Observable或一个数字以及如何对其进行测试

如何循环一个数字,以便该数字迭代每个可能的值?

将数组中的每个值除以下一个值以返回一个数字

如何创建一个数字序列,在 MS Word 中显示每个数字中的两个?

给定一个列表,我如何构造一个新列表,以使新列表的每个元素都是旧列表中每两个数字的和?

如何从每行的第一个数字列开始导入

如何比较重复的列,每个列都有一个数字范围,如果它们的数字范围相互重叠,则返回错误?

如何将一个数组中的一组数字相加?

如何在每个下一个单元格中按 3-3 组拆分多个数字的单元格?

在每个数字和字母之间添加一个制表符

为数组的每个项目增加和减少一个数字

如何按每个ID获取最后一个数据组

SSRS图表组系列-如何使第二系列组从第一个数据点开始?

python - 如何添加一个变量和一个数字(加法)

如何选择一个数字?

如何获得一个数字并将其分为多个组

在LUA中获取一个范围之间的随机数列表,但每个数字允许x组重复项