跟大家提一个自动编码的问题
IF EXISTS(SELECT name
FROM sysobjects
WHERE name = N 'T '
AND type = 'U ')
DROP TABLE T
GO
CREATE TABLE T (
C1 INT,
C2 CHAR(8),
C3 CHAR(8)
)
GO
INSERT INTO T
SELECT 1, 'AA ', 'K ' UNION ALL
SELECT 2, 'AA ', 'L ' UNION ALL
SELECT 3, 'BB ', 'K ' UNION ALL
SELECT 4, 'BB ', 'L ' UNION ALL
SELECT 5, 'CC ', 'K ' UNION ALL
SELECT 6, 'CC ', 'L ' UNION ALL
SELECT 7, 'DD ', 'K ' UNION ALL
SELECT 8, 'DD ', 'L ' UNION ALL
SELECT 9, 'EE ', 'K ' UNION ALL
SELECT 10, 'FF ', 'L '
现在要得到如下的表,CD为自动编的码:
C1 CD C2 C3
----------- -------- --------
1 101 AA K
2 102 AA L
3 201 BB K
4 202 BB L
5 301 DD K
6 302 DD L
7 401 CC K
8 402 CC L
9 501 EE K
10 601 FF L
(所影响的行数为 10 行)
这里的规律为:C2相同的统统编一个号,如 "AA "为10, "BB "为20, "CC "为40等随机流水编, "K "被定为1, "L "被定为2.如C2=AA,C3=K的,自动编号CD就是:101,请问这个CD这一列怎么算出来?