wodeqq584958184 2018-04-22 15:05 采纳率: 77.8%
浏览 737
已采纳

关于一个SQL server项目编程问题

问题或许很很难很复杂,但是我还是希望有人能帮我解决下,本人是刚刚出来学校的实习生,现在实习的公司,我上司安排了个项目给我,但是没有人带,我上司也只是懂接触过一点点SQL server,但并不是专家,现在项目凭着我自己翻寻各种百度和CSDN,完成了一半进度,但是现在真的遇到难题了,不知道怎么往下编写程序了,希望求各路SQL server大神、高手、专家帮我解决这个问题,如果可能我觉得下面的思路还是不清晰,可以加我QQ:584958184

图1
图2
来讲下问题吧,就是计算时间差和传递的问题,目前表里的数据是我手动输入的,但实际上是机器开启后(机器状态为0的时候就是恢复运行状态),数据自动往table4插入的,由于后期数据量很大,有个百度吧友建议我用游标来做,可是我不会用游标......

我来说下效果的思路:
当table4中每次出现的一条错误代码记录时(当location、pointer和ng-itime字段下有数据时,就是一条错误代码),用它们下一条状态记录machine-itime的时间(状态记录的时间也就是machine-status字段为0值的machine-itime字段)减去它自己的ng-itime时间,得出来的时间差值就是这条错误代码的持续时间。并且把这个值传递去table5去,但这个传递有条件,就是以错误类型为条件(table4中的location+pointer字段就是一个类型),例如table4中(图1),出现了3条错误代码,类型分别为sta080 63、zone6 49和System 481,每条错误代码的的下一条状态记录的时间(machine_itime)减去它们各ng_itime,得出来的时间差值要传递到table5对应类型的错误代码中,并把此值插入到time字段中(table5表图是图2)。

还要注意的是,table4的每一条错误代码记录,肯定会有重复出现的,重复出现的错误代码,经过计算出来的时间差值,然后选择table5相对应的错误代码类型,要与旧记录的时间差值进行叠加!!!并不是替换,而是旧记录与新纪录进行相加~!!

  • 写回答

4条回答 默认 最新

  • 踮脚敲代码 2018-04-23 03:17
    关注

    用存储过程把整个逻辑写出来,然后给table4添加个插入触发器再调用存储过程就行,详细扣扣谈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 Bibtex4Word 引用中文文献
  • ¥20 用opencv c/c++ 转换成灰度图,然后做一下直方图均衡,输出mp4文件
  • ¥20 matlab中的双层数值积分
  • ¥50 服务器打印水晶报表问题
  • ¥30 gradle环境下javafx项目如何使用druid连接池
  • ¥15 服务器打印水晶报表问题
  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题