您可以使用递归CTE:
;WITH CTE AS( SELECt * FROM YourTable UNIOn ALL SELECt id, pcs-1 FROM CTE WHERe pcs-1 >= 1)SELECt *FROM CTEORDER BY id, pcsOPTION(MAXRECURSION 0)
这是一个演示供您尝试。

您可以使用递归CTE:
;WITH CTE AS( SELECt * FROM YourTable UNIOn ALL SELECt id, pcs-1 FROM CTE WHERe pcs-1 >= 1)SELECt *FROM CTEORDER BY id, pcsOPTION(MAXRECURSION 0)
这是一个演示供您尝试。