sql简易的MRP资源分析
写了个简易的MRP根据传进来的数据,进行上下级的判断,父表,子表
构思:
3张变量表,第一张用来存传进来的成品,这边对表做了循环就是成品是一样一样进去的,取成品表的第一行,将数据做父表和子表关联,取出有关的物料,存到第二张变量表。
再次做一个循环,将第二张变量表和父表做关联,如果有数据存在将数据存到第三张变量表,根据第三张变量表删掉第二张变量表中相同的数据,然后对第三张变量表和父表子表做关联,将数据反填回第二张变量表,并清空第三张变量表,循环到没有条件成立,即可。
下面是我的方法:
----------------begin----------------------------
declare @wltemp table(id int,code varchar(50))
insert into @wltemp(id,code)
select '1','PAR-471J0-60'
--union
--select '2','PAR-102J0-60'
declare @temp table(fid int,mainid int,num int,whscode int)
declare @temp1 table(fid int,mainid int,num int,whscode int)
declare @i int
declare @maxvalue int
select @maxvalue=count(1) from @wltemp
select @i=1
while(@i<=@maxvalue)
begin
if exists(select top 1 1 from dchild1727 a inner join dfather1727 b on a.fid=b.id
inner join ditm c on b.mainid=c.id inner join @wltemp d on c.fathercode=d.code where d.id=@i)
begin
insert into @temp(fid,mainid,num,whscode)
select a.fid,a.mainid,a.c_num,a.whscode from dchild1727 a inner join dfather1727 b on a.fid=b.id
inner join ditm c on b.mainid=c.id inner join @wltemp d on c.fathercode=d.code where d.id=@i
end
set @i=@i+1
-------------------------上部分为调取成品名字--------------------下部分为循环-------------------------------
while exists(select top 1 1 from dfather1727 a inner join @temp b on a.mainid=b.mainid)
begin
insert into @temp1(fid,mainid,num,whscode)
select b.fid,b.mainid,b.num,b.whscode from dfather1727 a inner join @temp b on a.mainid=b.mainid
delete from @temp where mainid in(select mainid from @temp1 a where a.mainid=mainid and a.fid=fid)
insert into @temp(fid,mainid,num,whscode)
select a.fid,a.mainid,a.c_num,a.whscode
from dchild1727 a inner join dfather1727 b on a.fid=b.id inner join @temp1 c on b.mainid=c.mainid
delete from @temp1
end
end
SELECT b.fathercode 物料编码,b.itemname 物料名称,a.whscode 仓库,a.num 数量 from @temp a inner join ditm b on a.mainid=b.id
---------------end-------------
sql简易的MRP资源分析的更多相关文章
- SQL SERVER 查询性能优化——分析事务与锁(五)
SQL SERVER 查询性能优化——分析事务与锁(一) SQL SERVER 查询性能优化——分析事务与锁(二) SQL SERVER 查询性能优化——分析事务与锁(三) 上接SQL SERVER ...
- 通过SQL Server Profiler来监视分析死锁
在两个或多个SQL Server进程中,每一个进程锁定了其他进程试图锁定的资源,就会出现死锁,例如,进程process1对table1持有1个排它锁(X),同时process1对table2请求1个排 ...
- KRPano资源分析工具使用说明(KRPano XML/JS解密 切片图批量下载 球面图还原 加密混淆JS还原美化)
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 使用KRPano资源分析工具强力加密KRPano项目(XML防破解,切片图保护,JS反调试)
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 使用KRPano资源分析工具分析动态网站资源
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 使用KRPano资源分析工具还原全景图片
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 使用KRPano资源分析工具一键下载全景网站切片图
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 使用KRPano资源分析工具解密被加密的XML
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 配置SQL Server 2008的资源调控器实现负载均衡
原文:配置SQL Server 2008的资源调控器实现负载均衡 转自:http://www.ithov.com/server/93267.shtml 1.为什么引入"资源调控器" ...
随机推荐
- mysql服务器的常规操作
mysql服务器的常规操作 导读 MySQL是一个小型关系数据库管理系统,目前被广泛的应用在Internet上的中小型网站中,体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,使得许多中小型网站 ...
- 如何在Linux下拷贝一个目录呢
cp -af newadmin/movie/. uploadfile/mallvideo/ 如何在Linux下拷贝一个目录呢?这好像是再简单不过的问题了. 比如要把/home/usera拷贝到/m ...
- 去掉或者修改 input、select 等表单的【默认样式 】
隐藏input等表单的默认样式的背景: textarea,select,input{-webkit-appearance: none; -moz-appearance: none; -o-appear ...
- spark1.2.0编译
spark 有三种编译方式:SBT.MAVEN.make-distribution.sh.SBT.MAVEN两种方式打出来的包比较大,不适合部署使用.因此我们通常使用第三种方式打包. ./make-d ...
- 关于c#调用c/c++ dll遇到的问题总结
前段时间公司做了个winform程序,需要调用c 的dll去读取卡号的程序,期间遇到些问题,下面来分享下 一.dll路径问题 相信很多开发者都会遇到这个问题,我总结了下我现在有3总方式去解决这个问题: ...
- 网络流最经典的入门题 各种网络流算法都能AC。 poj 1273 Drainage Ditches
Drainage Ditches 题目抽象:给你m条边u,v,c. n个定点,源点1,汇点n.求最大流. 最好的入门题,各种算法都可以拿来练习 (1): 一般增广路算法 ford() #in ...
- TextRank算法提取关键词的Java实现
转载:码农场 » TextRank算法提取关键词的Java实现 谈起自动摘要算法,常见的并且最易实现的当属TF-IDF,但是感觉TF-IDF效果一般,不如TextRank好. TextRank是在 G ...
- sharepreferce支持boolean,string类型
public class SharePrefersUtils { private static final String name="cogi"; public static bo ...
- http://www.cnblogs.com/
<?php $filename = $_GET['filename']; header("Content-type: application/octet-stream"); ...
- Java计算机网络
计算机网络: 分布在不同的地域的计算机通过外接设备(路由器),实现共享和数据传输网络编程:网络编程主要是用来解决计算机和计算机之间的数据传输网络编程:不需要基于HTML就可以达到数据之间的传输,比如Q ...