微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据参数创建重复的序列号?

如何解决根据参数创建重复的序列号?

我实际上是在尝试根据发票屏幕中的参数和发票编号为 SAP Business one 中的发票创建一个唯一的条形码。

例如,我将拥有的固定数据是带有名为“项目数”的参数的“发票编号”

如果参数为 10,我希望 sql 查询返回...

123456 001 010
123456 002 010
123456 003 010
123456 004 010
123456 005 010

等等。这基本上会为我创建 10 个唯一的数字,然后我可以将其用于此发票的一系列条形码? 不需要插入到表中,只需要能够计算出中间的动态值即可。

我将查询的值是

OINV.InvoiceNumber,OINV.NumberOfParcels FROM OINV

非常感谢

安迪

解决方法

如果你有一个数字表,你可以简单地这样做:

DECLARE @SomeNumber INT = 123456,@N          INT = 10;

SELECT
  SomeNumber = @SomeNumber,Col1       = STUFF('000',3+1-LEN(t.N),LEN(t.N),t.N),Col2       = STUFF('000',3+1-LEN(@N),LEN(@N),@N)
FROM  Numbers AS t
WHERE t.N <= @N;

如果不这样做,您可以使用 fnTally。代码如下所示:

SELECT 
  SomeNumber = @SomeNumber,@N)
FROM   dbo.fnTally(1,@N) AS t;

两个查询都返回:

SomeNumber  Col1    Col2    
----------- ------- ------- 
123456      001     010     
123456      002     010     
123456      003     010     
123456      004     010     
123456      005     010     
123456      006     010     
123456      007     010     
123456      008     010     
123456      009     010     
123456      010     010     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。