SELECT IDENTITY(INT,1,1) AS ROW,* INTO #T FROM AINSERT INTO 
SELECT
    使用部门,
    工程名称,
    工程编号,
    RIGHT('0000'+RTRIM(导入序号),4)
FROM
    (SELECT 
         使用部门,
         工程名称,
         工程编号,
         导入序号 = (SELECT COUNT(*) FROM #T WHERE 工程编号=t.工程编号 AND ID<=t.ID)
     FROM
         #T t) A
ORDER BY
    工程编号,导入序号

解决方案 »

  1.   

    我运行语句:
    SELECT IDENTITY(INT,1,1) AS id,* INTO #T FROM AINSERT INTO 
    SELECT
        使用部门,
        工程名称,
        工程编号,
        RIGHT('0000'+RTRIM(导入序号),4)
    FROM
        (SELECT 
             使用部门,
             工程名称,
             工程编号,
             导入序号 = (SELECT COUNT(*) FROM #T WHERE 工程编号=t.工程编号 AND ID<=t.ID)
         FROM
             #T t) A
    ORDER BY
        工程编号,导入序号
    执行结果为:
    A0001     0001
    A0001     0001
    A0001     0001
    A0001     0001
    B0001     0002
    B0001     0002
    B0001     0002请问还要怎样修改?