制造型企业遇到的产品耗用工时统计检核

dingding338088 2010-09-01 03:34:15
有一张生产流程表,表名为 list,每件产品是需要多个工序的,但完工是在最后一个工序才完工,含有如下字段:
订单号 po 产品名称name 工序line
Po0001 nokia 01
Po0001 nokia 02
Po0001 nokia 03
Po0001 nokia 04
Po0002 monitor 01
Po0002 monitor 02
Po0002 monitor 03
Po0002 monitor 04
Po0002 monitor 05
Po0003 asus 01
Po0003 asus 02
Po0003 asus 03
Po0004 pad 01
Po0004 pad 02
Po0004 pad 03
另有一张记录产品耗用工时表,表名为 usetime ,注意:按照规定,每一件产品,都必须报入工时,以正确统计每件产品使用的时间,以正确计算出成本,含有如下字段:
日期dat 产品名称name 工序line 工时utime
20100901 nokia 04 10
20100901 monitor 04 30
20100901 asus 04 40
20100901 pad 04 23

按照规定,每件产品的生产都有工序,最终完工的那个工序是最大的,报工时,也必须使用最大的那个工序号来报工,但由于user操作上的失误,存在一些问题,例如:
pad最终通过最后一道工序03完工的,因此,报入工时,应报03那一道工序,而不是04;
monitor最终通过最后一道工序05完工的,因此,报入工时,应报05那一道工序,而不是04;
像这种存在使用错误的工序号来报工的,如何从已报工的数据中查出?
Sql代码应如何写?(运行环境为SQL2000)
...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2010-09-01
  • 打赏
  • 举报
回复
--search
select m.name, m.line list_line , n.line usetime_line from
(select name , max(line) line from list group by name) m, usetime n
where m.name = n.name and m.line <> n.line

--update
update usetime
set line = (select max(line) from list n where n.name = m.name)
from usetime m
Rotel-刘志东 2010-09-01
  • 打赏
  • 举报
回复
描述的有些不太清楚。
「已注销」 2010-09-01
  • 打赏
  • 举报
回复
看的好累哦,看完还忘了,郁闷
LZ能不能以数据的形式来表述一下呢,谢谢。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧