根据参数创建重复的序号?
Creating repeated sequential number based on parameter?
我实际上是在尝试根据发票屏幕中的参数和发票编号在 SAP Business One 中为发票创建唯一条形码。
例如,我将拥有的固定数据是“发票编号”和一个名为“项目数量”的参数
如果参数为 10,我希望 SQL 查询 return...
123456 001 010
123456 002 010
123456 003 010
123456 004 010
123456 005 010
等这基本上会为我创建 10 个唯一的数字,然后我可以将其用于这张发票的一系列条形码?
它不需要插入到table,它只需要能够计算出中间的动态值。
我要查询的值是
OINV.InvoiceNumber,OINV.NumberOfParcels 来自 OINV
非常感谢
安迪
如果你有一个数字 table 你可以简单地这样做:
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,
Col1 = STUFF('000',3+1-LEN(t.N),LEN(t.N),t.N),
Col2 = STUFF('000',3+1-LEN(@N),LEN(@N),@N)
FROM dbo.fnTally(1,@N) AS t;
两个查询 Return:
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
我实际上是在尝试根据发票屏幕中的参数和发票编号在 SAP Business One 中为发票创建唯一条形码。
例如,我将拥有的固定数据是“发票编号”和一个名为“项目数量”的参数
如果参数为 10,我希望 SQL 查询 return...
123456 001 010
123456 002 010
123456 003 010
123456 004 010
123456 005 010
等这基本上会为我创建 10 个唯一的数字,然后我可以将其用于这张发票的一系列条形码? 它不需要插入到table,它只需要能够计算出中间的动态值。
我要查询的值是
OINV.InvoiceNumber,OINV.NumberOfParcels 来自 OINV
非常感谢
安迪
如果你有一个数字 table 你可以简单地这样做:
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,
Col1 = STUFF('000',3+1-LEN(t.N),LEN(t.N),t.N),
Col2 = STUFF('000',3+1-LEN(@N),LEN(@N),@N)
FROM dbo.fnTally(1,@N) AS t;
两个查询 Return:
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