先讲一下业务场景:
人员注册-提交任务,任务中可以选择日期。系统中存在注销功能。
要求,任务选择的提交时间不能是注册时间之前,注销后签约时间按照新签约的算。这就导致出现一种情况,一个人的状态线是:
注册-注销-注册-注销-注册-换合同-注销……
本来按照排序取最新的一条注销时间之后的注册,如果没有就取第一条注册(因为某些原因,注册数据会有多条,中途可以换合同什么的,比如涨工资,但是历史数据要留着)
但是这个sql我没想出来,所以就替换了一下。
选择的时间之后不能存在注销,选择时间之前的第一条不能是注销,同时这之前一条不能没有(这是个坑)。
但是这个sql我也没想出来,写两条自然可以,但是有什么办法尽量一条么?
表字段:sign_time,sign_status
这个sql怎么一句写出来?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 为什么不问问神奇的海螺呢丶 2022-07-12 13:54关注
我看了一下、sql不难、但是你最后期望得到的数据是什么呢、
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题