假设我有一张桌子,上面有这样的产品
product | number
----------------------
aaaa | 2
bbbb | 3
cccc | 1
dddd | 4
它有点复杂,但想法是一样的。
我需要返回这样的东西
aaaa0001
aaaa0002
bbbb0003
bbbb0004
bbbb0005
cccc0006
dddd0007
dddd0008
dddd0009
dddd0010
我的意思是,每个产品列中指定的次数,最后带有某种标识符。
我怎样才能做到这一点 ?
我想到了表变量,ID上有标识
DECLARE @Codigos TABLE (ID INT IDENTITY(1,1), Barra Varchar(50) NOT NULL)
在插入之后,做
select rtrim(ltrim(barra)) + right('0000' + rtrim(ltrim(cast(id as varchar(10)))),4) from @Codigos
但这意味着我必须在 product 变量中为每个产品插入次数,例如
@Codigos
id | Barra
----------------
1 | aaaa
2 | aaaa
我面临着这方面的问题。我怎样才能做到这一点 ?用光标?这就是我的想法,但我想知道是否有更好的选择。
原始表中的最大值为 300 行。