-- 재귀(오라클 기준) WITH t1(order_qty) AS ( SELECT 5 FROM dual ) , t2(use_qty) AS ( SELECT 2 FROM dual ) , t3(order_qty, rmn_qty) AS ( SELECT LEAST(t1.order_qty, t2.use_qty), t1.order_qty - LEAST(t1.order_qty, t2.use_qty) FROM t1, t2 UNION ALL SELECT LEAST(t3.rmn_qty, t2.use_qty), t3.rmn_qty - LEAST(t3.rmn_qty, t2.use_qty) FROM t3, t2 WHERE t3.rmn_qty >= t2.use_qty OR t3.rmn_qty > 0 ) SELECT order_qty FROM t3