Paste this into a new question or an answer at dba.stackexchange.com:
<!-- --> > CREATE TABLE CTE > ([商品貨號] int, [安全量] int, [基本撥量] int) > ; > > INSERT INTO CTE > ([商品貨號], [安全量], [基本撥量]) > VALUES > (0011092, 48, 4), > (001103, 36, 3), > (0015584, 16, 3) > ; > > select [商品貨號], > [安全量], > [基本撥量], > [安全量]/2 基本安全撥數, > ([安全量]/2) % [基本撥量] MOD結果, > case when ([安全量]/2) % [基本撥量] = 0 then [安全量] > else > [基本撥量] * (([安全量]/2)/[基本撥量]+1) > end [新基本撥量] > from CTE; > > select [商品貨號], > [安全量] [原安全量], > [基本撥量], > case when ([安全量]/2) % [基本撥量] = 0 then [安全量]/2 > else > [基本撥量] * (([安全量]/2)/[基本撥量]+1) > end [新安全量] > from CTE > GO > > <pre> > 商品貨號 | 安全量 | 基本撥量 | 基本安全撥數 | MOD結果 | 新基本撥量 > -----------: | --------: | -----------: | -----------------: | --------: | --------------: > 11092 | 48 | 4 | 24 | 0 | 48 > 1103 | 36 | 3 | 18 | 0 | 36 > 15584 | 16 | 3 | 8 | 2 | 9 > > 商品貨號 | 原安全量 | 基本撥量 | 新安全量 > -----------: | -----------: | -----------: | -----------: > 11092 | 48 | 4 | 24 > 1103 | 36 | 3 | 18 > 15584 | 16 | 3 | 9 > </pre> *db<>fiddle [here](https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=bb1c0fc2a02c15188deaaea3610daa0e)*
back to fiddle