假如總數 350 , 每箱100 數量
結果就是 需要列印 4張合格證,前3張各100 數量,最終1張50 數量
問怎么實作,列印四張合格證效果
拆成
合格證張數 合格證數量
1 100
1 100
1 100
1 50
謝
uj5u.com熱心網友回復:
DECLARE @TOTAL INT = 400,@NUM INT = 100;
WITH CTE AS (
SELECT @TOTAL%@NUM X1,@TOTAL/@NUM X2
UNION ALL
SELECT @NUM,X2-1 FROM CTE WHERE X2>0
)
SELECT * FROM CTE WHERE X1 != 0
uj5u.com熱心網友回復:
declare @n int,@m int
select @n=350,@m=100
select (case when (number+1)*@m<@n then @m else @n-@m*number end)
from master..spt_values
where type='p' and number<=@n/@m
uj5u.com熱心網友回復:
#1的代碼,最多支持100箱,這個是受cte遞回上限限制的#2的代碼,最多支持2048想,這個是受spt_values表中資料限制的,不過#2的可以自行創建臨時表,多匯入幾次spt_values的資料,可以支持任意資料
uj5u.com熱心網友回復:
OPTION(MAXRECURSION 0) 就不受100次遞回限制了
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/279112.html
標籤:基礎類
上一篇:多庫的表聯合查詢
