Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

SQL与会计

时 间:2018-04-04 23:15:26
作 者:DSN_LESS   ID:66752  城市:大理
摘 要:SQL与会计
正 文:

Create DATABASE fbf;
--清明时节,忆旧事。
--还记得老早的家,在你和你妈的鼓舞下,
--买下一台刚上市的蓝星电脑,
--思想是行为的种子,谢谢你们!   
--缅怀不减,立志更坚。
--还有去年偶遇一友人,从侧面看神似你。
go
USE fbf;
Create TABLE clzl(
步骤 VARCHAR(5),
期初 FLOAT,
本期投入 FLOAT,
完工数量 FLOAT,
期末 FLOAT,
投料程度 FLOAT,
加工程度 FLOAT
);
Insert INTO clzl(步骤,期初,本期投入,完工数量,投料程度,加工程度)VALUES('A',200,250,220,0.8,0.6)
Insert INTO clzl(步骤,期初,本期投入,完工数量,投料程度,加工程度)VALUES('B',200,250,220,0.8,0.6)
Update clzl 
SET
期末=期初+本期投入-完工数量;
Create TABLE cbjs(
步骤 VARCHAR(5),
成本项目 VARCHAR(12),
上期结转 FLOAT,
本期发生 FLOAT,
合计 FLOAT,
约当量 FLOAT,
分配率 FLOAT,
期末在产品 FLOAT,
完工产品 FLOAT,
单位成本 FLOAT
);
Insert INTO cbjs(步骤,成本项目,上期结转,本期发生)VALUES('A','直接材料',5900,30900)
Insert INTO cbjs(步骤,成本项目,上期结转,本期发生)VALUES('A','直接人工',11485,44000)
Insert INTO cbjs(步骤,成本项目,上期结转,本期发生)VALUES('A','制造费用',16145,64000)
Insert INTO cbjs(步骤,成本项目,上期结转,本期发生)VALUES('A','合计',null,null)
Insert INTO cbjs(步骤,成本项目,上期结转,本期发生)VALUES('B','自制半成品',14220,null)
Insert INTO cbjs(步骤,成本项目,上期结转,本期发生)VALUES('B','直接材料',2540,12360)
Insert INTO cbjs(步骤,成本项目,上期结转,本期发生)VALUES('B','直接人工',4508,22000)
Insert INTO cbjs(步骤,成本项目,上期结转,本期发生)VALUES('B','制造费用',6916,32000)
Insert INTO cbjs(步骤,成本项目,上期结转,本期发生)VALUES('B','合计',null,null)
        
Update cbjs 
SET
约当量= (Select 完工数量+期末*投料程度 FROM clzl Where 步骤='A') Where 成本项目='直接材料' AND 步骤='A';
Update cbjs 
SET
约当量= (Select 完工数量+期末*加工程度 FROM clzl Where 步骤='A') Where (成本项目='直接人工' or 成本项目='制造费用') AND 步骤='A';
Update cbjs 
SET
合计= 上期结转+本期发生
Where 步骤='A';
Update cbjs 
SET
分配率= 合计/约当量
Where 步骤='A';
Update cbjs 
SET
完工产品= 分配率*(Select 完工数量 FROM clzl Where 步骤='A')
Where 步骤='A';
Update cbjs 
SET
期末在产品= 合计-完工产品
Where 步骤='A';
Update cbjs 
SET
单位成本= 完工产品/(Select 完工数量 FROM clzl Where 步骤='A')
Where 步骤='A';
Declare @sum_sq FLOAT
Declare @sum_bq FLOAT
Declare @sum_hj FLOAT
Declare @sum_qm FLOAT
Declare @sum_wg FLOAT
Declare @sum_dw FLOAT
Select 
 @sum_sq = SUM(isnull(上期结转,0)),
 @sum_bq = SUM(isnull(本期发生,0)), 
 @sum_hj = SUM(isnull(合计,0)),
 @sum_qm = SUM(isnull(期末在产品,0)),
 @sum_wg = SUM(isnull(完工产品,0)),
 @sum_dw = SUM(isnull(单位成本,0))
 FROM cbjs Where 步骤='A';
Update cbjs 
SET
上期结转= @sum_sq,
本期发生= @sum_bq,
合计= @sum_hj,
期末在产品= @sum_qm,
完工产品= @sum_wg,
单位成本= @sum_dw
Where 步骤='A' AND 成本项目='合计';
Update cbjs 
SET
本期发生= @sum_wg
Where 成本项目 = '自制半成品';
Update cbjs 
SET
约当量= (Select 完工数量+期末*投料程度 FROM clzl Where 步骤='B') Where 成本项目='直接材料' AND 步骤='B';
Update cbjs 
SET
约当量= (Select 完工数量+期末*加工程度 FROM clzl Where 步骤='B') Where (成本项目='直接人工' or 成本项目='制造费用') AND 步骤='B';
Update cbjs 
SET
约当量= (Select 完工数量+期末 FROM clzl Where 步骤='B') 
Where 成本项目='自制半成品' AND 步骤='B';
Update cbjs 
SET
合计= 上期结转+本期发生
Where 步骤='B';
Update cbjs 
SET
分配率= 合计/约当量
Where 步骤='B';
Update cbjs 
SET
完工产品= 分配率*(Select 完工数量 FROM clzl Where 步骤='B')
Where 步骤='B';
Update cbjs 
SET
期末在产品= 合计-完工产品
Where 步骤='B';
Update cbjs 
SET
单位成本= 完工产品/(Select 完工数量 FROM clzl Where 步骤='B')
Where 步骤='B';
Select 
 @sum_sq = SUM(isnull(上期结转,0)),
 @sum_bq = SUM(isnull(本期发生,0)), 
 @sum_hj = SUM(isnull(合计,0)),
 @sum_qm = SUM(isnull(期末在产品,0)),
 @sum_wg = SUM(isnull(完工产品,0)),
 @sum_dw = SUM(isnull(单位成本,0))
 FROM cbjs Where 步骤='B';
Update cbjs 
SET
上期结转= @sum_sq,
本期发生= @sum_bq,
合计= @sum_hj,
期末在产品= @sum_qm,
完工产品= @sum_wg,
单位成本= @sum_dw
Where 步骤='B' AND 成本项目='合计';
Select * FROM cbjs;





Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助