即pg_qty>0的情况下,如果x_qty 能整除pg_qty,则yf_qty = x_qty /pg_qty
如果不能整除,yf_qty = x_qty /pg_qty的整数+ pg_qty
如果不能整除,yf_qty = x_qty /pg_qty的整数+ pg_qty
解决方案 »
- Oracle 关于Insert语句中使用子查询的问题
- oracle中一些语句不明白的地方
- 请问触发器中的old,new怎么使用
- Oracle11g 安装失败!Enterprise Manager configuration failed due to the following error
- Oracle 10g如何访问MSSQL数据库中的数据??
- 重提:imp导入时问题——不支持要求的字符集转换(从类型1到852)
- 怎样在数据库中存取图片
- oracle解锁的问题。急急急!!在线等待!
- 谁知道如何进行远程数据同步?能详细一点地说吗?null
- 关于Oracle的安装问题???
- 这样的SQL语句怎么写???
- 多个统计查询的合并(连接?)问题
即pg_qty>0的情况下,如果x_qty 能整除pg_qty,则yf_qty = x_qty /pg_qty * pg_qty
如果不能整除,yf_qty = (x_qty /pg_qty的整数+ 1 ) * pg_qty
select name ,pg_qty, x_qty ,(case when pg_qty=0 then x_qty
when (pg_qty>0 and x_qty<pg_qty) then p_qty
when (pg_qty>0 and x_qty>pg_qty) then trunc((x_qty-1)/pg_qty)*pg_qty end) as yf_qty
from A
PG_QTY(包装量) X_QTY(需求) YF_QTY(应发数量)
------------- ------------- ----------
25.00 125.00 100 --> 125
2000.00 360.90 2000
0.00 120.00 120
2000.00 481.20 2000
2000.00 120.30 2000
2000.00 4330.80 4000 --> 6000
2000.00 240.60 2000
2000.00 240.60 2000
when (pg_qty>0 and x_qty<pg_qty) then pg_qty
when (pg_qty>0 and x_qty>pg_qty) then CEIL(x_qty/pg_qty)*pg_qty end) as yf_qty
from tr_pickinglist_detail
问题解决,谢谢
insert into B
select name ,pg_qty, x_qty ,(case when pg_qty=0 then x_qty
when (pg_qty>0 and x_qty<pg_qty) then p_qty
when (pg_qty>0 and x_qty>pg_qty) then trunc((x_qty-1)/pg_qty + 1)*pg_qty end) as yf_qty
from A