微笑精灵 2022-07-11 11:38 采纳率: 93.8%
浏览 43
已结题

这个sql怎么一句写出来?

先讲一下业务场景:
人员注册-提交任务,任务中可以选择日期。系统中存在注销功能。
要求,任务选择的提交时间不能是注册时间之前,注销后签约时间按照新签约的算。这就导致出现一种情况,一个人的状态线是:
注册-注销-注册-注销-注册-换合同-注销……
本来按照排序取最新的一条注销时间之后的注册,如果没有就取第一条注册(因为某些原因,注册数据会有多条,中途可以换合同什么的,比如涨工资,但是历史数据要留着)
但是这个sql我没想出来,所以就替换了一下。
选择的时间之后不能存在注销,选择时间之前的第一条不能是注销,同时这之前一条不能没有(这是个坑)。
但是这个sql我也没想出来,写两条自然可以,但是有什么办法尽量一条么?
表字段:sign_time,sign_status

  • 写回答

1条回答 默认 最新

  • 关注

    我看了一下、sql不难、但是你最后期望得到的数据是什么呢、

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 已采纳回答 7月12日
  • 创建了问题 7月11日

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题