求sql 语句,够难的。。。请高手帮忙。。。(100分)

M

mc888

Unregistered / Unconfirmed
GUEST, unregistred user!
我有这样的一个表

单据号 序号 子序号 产品代码 产品名称 数量 单价 金额 材料类别
(djh) (xh) (zxh) (cpdm) (cpmc) (sl) (dj) (je)

xxxx 1 1 0001 xxxxx 1 10.00 10.00 01 (01表示材料)
xxxx 1 2 0002 xxxxx 2 20.00 40.00 01
xxxx 1 3 0003 xxxxx 1 50.00 50.00 01
xxxx 1 4 2001 xxxxx 1 200.00 200.00 03 (03表示箱体)

xxxx 2 1 0001 xxxxx 1 10.00 10.00 01
xxxx 2 2 0002 xxxxx 2 20.00 40.00 01
xxxx 2 3 0003 xxxxx 1 50.00 50.00 01
xxxx 2 4 1001 xxxxx 10.0 10.00 10.00 02 {材料类别为'02'时表示费用类,数量一列表示累计的百分比}
xxxx 2 5 2001 xxxxx 1 200.00 200.00 03 {其它的表示数值}





上表是一个BOM, 表中序号相同的表示同一台设备,现需要动态地插入一行(费用类)到表中,要求插入行放在箱体前面,并对子序号重新排序,计算费用的累计金额.
注:如果该设备已有该费用类,则直按修改该行,不需要再插入了。。


例如: 指定1号柜的费用为10.00% ,2号柜费用为20% 刚表中记录如下:


单据号 序号 子序号 产品代码 产品名称 数量 单价 金额 材料类别
(djh) (xh) (zxh) (cpdm) (cpmc) (sl) (dj) (je)

xxxx 1 1 0001 xxxxx 1 10.00 10.00 01 (01表示材料)
xxxx 1 2 0002 xxxxx 2 20.00 40.00 01
xxxx 1 3 0003 xxxxx 1 50.00 50.00 01
xxxx 1 4 1001 xxxxx 10.0 10.00 10.00 02
xxxx 1 5 2001 xxxxx 1 200.00 200.00 03 (03表示箱体)

xxxx 2 1 0001 xxxxx 1 10.00 10.00 01
xxxx 2 2 0002 xxxxx 2 20.00 40.00 01
xxxx 2 3 0003 xxxxx 1 50.00 50.00 01
xxxx 2 4 1001 xxxxx 20.0 10.00 20.00 02 {材料类别为'02'时表示费用类,数量一列表示累计的百分比}
xxxx 2 5 2001 xxxxx 1 200.00 200.00 03



我搞不定它,只好请各位朋友帮帮了。。。 感谢
 
急呀。。。在线等待
 
高手跑哪里去啦。。。。:(
 
具体客户操作是这样的: 先输入各台设备的材料,箱体. 之后通过一个对话框输入费用百分比,让系统自动计算该百分比金额,并插在适当的位置。。。
 
费用类数量一列为10,表示该费用金额为:其前面所有材料金额之和的10%
 
高手不屑于回答
要用2条SQL
update 表 set 子序号=子序号+1 where 你想插入的位置的条件
insert 表 (xxx,xxx,子序号) values (yyy,yyy,yyy,子序号的值)
 
看长了..没看....为什么不简化一下再拿出来呢?
 
得到versa的启发,自行解决了。。。结帐
 

Similar threads

顶部