update的问题
日期:2007-08-12 荐:
update的问题表AA中有字段:ID,文件代码 序号 as 文件编号,文件名称,部门,要求文件序号按照部门递增:UPDATE AA SET 序号=CAST(ISNULL((SELECT CAST(MAX(序号) AS NUMERIC) FROM AA WHERE 序号 LIKE '00' '%'),CAST(MAX(序号) AS NUMERIC)) 1 AS NVARCHAR(50)) WHERE ISNULL(序号,'')=''怎么按部门递增呢?UPDATE AA SET 序号=CAST(ISNULL((SELECT CAST(MAX(序号) AS NUMERIC) FROM AA WHERE 序号 LIKE '00' '%'),CAST(MAX(序号) AS NUMERIC)) 1 AS NVARCHAR(50)) 你上面不用加WHERE ISNULL(序号,'')=''這個了吧,因為他永遠是'真'UPDATE t SET t.序号 = v.序号FROM AA t, (SELECT a.ID, a.部门, 序号 = COUNT(B.ID) FROM AA a, AA b WHERE a.部门 = b.部门 AND a.ID >= b.ID GROUP BY a.ID,a.部门) vWHERE t.ID = v.ID and t.部门 = v.部门 and t.序号 is null部门递增呢?我也想知道不過你可以通過查詢來看,然後通過虛擬表,復制回原表。。。。(很苯的方法)谢谢,可是:我得到的是所有记录的递增,而不是按照部门加1:例如:财务部CW-01,CW-02, 人事部RS-01,RS-023楼的倒是可以,但是好像烦了点,比较简单的有吗?谢谢學
标签: