首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

依据数量自动生成标签序列号

2013-09-06 
根据数量自动生成标签序列号数据数量字段 在料号后面加以数量为序列号如下图料号数量A100B2如何查找格式为

根据数量自动生成标签序列号
数据数量字段 在料号后面加以数量为序列号如下图
料号   数量
A     100
B      2
如何查找格式为如下
号号 数量 标签号
A 100   A-001
A 100    A-002
...........
A 100  A-100
B 2    B-001
B 2    B-002
谢谢
[解决办法]


create table les
(料号 varchar(5), 数量 int)

insert into les
 select 'A', 100 union all
 select 'B', 2


select a.料号,
       a.数量,
       a.料号+'-'+replicate('0',3-len(c.number))+rtrim(c.number) '标签号'
 from les a
 cross apply
 (select b.number
  from master.dbo.spt_values b
  where b.type='P' 
  and b.number between 1 and a.数量) c
 
/*
料号    数量          标签号
----- ----------- --------------
A     100         A-001
A     100         A-002
A     100         A-003
A     100         A-004
A     100         A-005
A     100         A-006
A     100         A-007
A     100         A-008
A     100         A-009
A     100         A-010
A     100         A-011
A     100         A-012
A     100         A-013


A     100         A-014
A     100         A-015
A     100         A-016
A     100         A-017
A     100         A-018
A     100         A-019
A     100         A-020
A     100         A-021
A     100         A-022
A     100         A-023
A     100         A-024
A     100         A-025
A     100         A-026
A     100         A-027
A     100         A-028
A     100         A-029
A     100         A-030
A     100         A-031
A     100         A-032
A     100         A-033
A     100         A-034
A     100         A-035
A     100         A-036
A     100         A-037
A     100         A-038
A     100         A-039
A     100         A-040
A     100         A-041
A     100         A-042
A     100         A-043
A     100         A-044


A     100         A-045
A     100         A-046
A     100         A-047
A     100         A-048
A     100         A-049
A     100         A-050
A     100         A-051
A     100         A-052
A     100         A-053
A     100         A-054
A     100         A-055
A     100         A-056
A     100         A-057
A     100         A-058
A     100         A-059
A     100         A-060
A     100         A-061
A     100         A-062
A     100         A-063
A     100         A-064
A     100         A-065
A     100         A-066
A     100         A-067
A     100         A-068
A     100         A-069
A     100         A-070
A     100         A-071
A     100         A-072
A     100         A-073
A     100         A-074
A     100         A-075


A     100         A-076
A     100         A-077
A     100         A-078
A     100         A-079
A     100         A-080
A     100         A-081
A     100         A-082
A     100         A-083
A     100         A-084
A     100         A-085
A     100         A-086
A     100         A-087
A     100         A-088
A     100         A-089
A     100         A-090
A     100         A-091
A     100         A-092
A     100         A-093
A     100         A-094
A     100         A-095
A     100         A-096
A     100         A-097
A     100         A-098
A     100         A-099
A     100         A-100
B     2           B-001
B     2           B-002

(102 row(s) affected)
*/

热点排行