子段自增问题
表结构如下:
CREATE TABLE [dbo].[tblLowMarginCustomer] (
[BU] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[No] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[CustomerCode] [nvarchar] (100) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[ExportDate] [nvarchar] (10) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL
) ON [PRIMARY]
每个月的月初把从其他视图中取到的数据(仅抽取BU和CustomerCode这2个字段)放到这个tblLowMarginCustomer表中(每个月仅仅执行一次,且取的记录的个数也不相同),
其中ExportDate字段是保存每次往该表中导出时的日期的字符串值
[No]字段是每次 insert into 之后再用update语句更新这个字段的值,
现在的问题就是这个update语句的问题,
从07年8月份开始往tblLowMarginCustomer表导数据,每次导数据时,CustomerCode都不会重复(但可以与其他月导出的数据重复)
每个月更新[No]字段的值时,只能更新当月导过来的数据,而不能更新其他月份导过来的数据(这个可以用ExportDate字段来做条件)
[No]字段的的值是根据CustomerCode字段产生的,比如8月份第一次导来得数据有3个CustomerCode(比如是A,B,C),即3条纪录,那么这3个记录的[No]依次为 0001, 0002, 0003
,当9月份再往该表导数据时,如果还是8月份产生的上面那3个A,B,C记录的话,则对应的[No]分别是不变的,如果有一个纪录不是8月份中已经存在的记录,那么该纪录的[No]就等于原来已经存在的[No]值的最大值+1,即0004
例如下:
dcc 0001 A 2007-08-31
dcc 0002 B 2007-08-31
dcc 0003 C 2007-08-31
dcc 0001 A 2007-09-30
dcc 0002 B 2007-09-30
dcc 0003 C 2007-09-30
dcc 0004 D 2007-09-30
dcc 0002 B 2007-10-31
dcc 0003 C 2007-10-31
dcc 0005 E 2007-10-31
dcc 0006 F 2007-10-31
dcc 0003 C 2007-11-30
dcc 0004 D 2007-11-30
dcc 0005 E 2007-11-30
dcc 0007 G 2007-11-30
在线等,多谢各位帮忙,
上一个帖子也有回复的,但是答案我试了下都不符号要求