找回密码
 立即注册

QQ登录

只需一步,快速开始

南屏晚钟

高级会员

56

主题

225

帖子

1075

积分

高级会员

积分
1075
南屏晚钟
高级会员   /  发表于:2024-10-26 21:32  /   查看:435  /  回复:11
50金币
表格是直接进行在线编辑的,但是每个项目的状态就没法进行被动式更新,想到的办法只能通过计划任务定时进行服务端命令执行更新,现在有个问题,我研究了半天没法判断日期大于小于的情况,只能统一全部更改

有个前提条件,就是计划日期不为空
然后进行比对,如果实际日期大于计划日期,状态更新为延期
如果计划日期-today小于等于2,状态更新为预警
现在好了,连第一步对比都没搞定,更别谈下一个计划日期-today小于等于2的命令了,有大神能给个思路嘛

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

11 个回复

正序浏览
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2024-11-4 14:05:06
12#
大佬的也是一种思路,当咱们这个状态,其实和订单表中的金额=单价*数量一样,本身就是一个动态生成状态的过程,确实也可以不同更是到数据库中。

使用计划任务定时更新数据,若是更新的频率不高,可能状态会有延时,若是更新的频率高,当数据量大的时候,这个操作也会增加服务器资源的占用,造成性能问题,动态查询也是一种比较好的方式
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2024-10-31 22:15:20
11#
为什么一定要写表更新呢, 用视图直接 把状态弄出来 关联不就行了
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-10-31 17:19:08
10#
回复 使用道具 举报
赛龙周
银牌会员   /  发表于:2024-10-29 10:32:02
9#
是这样的结果的话


可以使用

UPDATE [表1]
SET [DQ状态] =
CASE
WHEN [DQ实际完成日期] > [DQ计划完成日期] THEN
'延期'
WHEN [DQ计划完成日期]-now()<=2 THEN
'预警'
ELSE ''
END;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
南屏晚钟 + 5

查看全部评分

回复 使用道具 举报
南屏晚钟
高级会员   /  发表于:2024-10-29 10:18:57
8#
irishan 发表于 2024-10-28 09:55
可以在表里增加一个公式字段,取超时天数,查询的时候根据超时天数,更新对应状态

感谢,非常棒的思路,研究半天,在服务端命令中,数据表更新条件里的变量值没法判别负数,然后我就把公式字段里的两个公式对换了一下,没超的就成正数了,就可以更新了
回复 使用道具 举报
Levi.Zhang
超级版主   /  发表于:2024-10-29 10:15:54
7#
感谢大佬们对活字格的支持~~~
如果您的问题已解决,请及时更新帖子的状态为“已处理”,并设置最佳答案给有帮助到你的回复;
如果您的问题还未解决,欢迎跟帖补充;
如果您有新的问题,也欢迎创建新的求助帖呦。
回复 使用道具 举报
irishan
注册会员   /  发表于:2024-10-28 09:55:47
6#

可以在表里增加一个公式字段,取超时天数,查询的时候根据超时天数,更新对应状态

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 2满意度 +10 收起 理由
南屏晚钟 + 5
风之剑 + 5

查看全部评分

回复 使用道具 举报
Syl悬赏达人认证
银牌会员   /  发表于:2024-10-28 08:15:33
5#
南屏晚钟 发表于 2024-10-27 19:51
感谢大佬,这个条件的确用,但是计划日期-today小于等于2天,不太熟悉SQL的语句,这样也改不了
麻烦指点 ...

你的日期是整数,today不是,用截取整数就行  =TRUNC(today())
回复 使用道具 举报
赛龙周
银牌会员   /  发表于:2024-10-27 21:17:42
4#
南屏晚钟 发表于 2024-10-27 19:51
感谢大佬,这个条件的确用,但是计划日期-today小于等于2天,不太熟悉SQL的语句,这样也改不了
麻烦指点 ...

使用case when 语句更新
回复 使用道具 举报
南屏晚钟
高级会员   /  发表于:2024-10-27 19:51:18
3#
Syl 发表于 2024-10-27 12:31
日期其实就是一个整数,直接可以进行加减运算,不需要用函数

感谢大佬,这个条件的确用,但是计划日期-today小于等于2天,不太熟悉SQL的语句,这样也改不了
麻烦指点一二,万分感谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部