数据表t_depart
---------------------------------------------------------------------------
code(vechar 20) name parent(vechar 20)
---------------------------------------------------------------------------
01 总部
0101 营销一部 01
0102 营销二部 01
0103 营销三部 01
0104 营销四部 01 该表是部门表,无限分类
我现在想实现用程序往表里边添加数据时能自动算出新的部门号,即现在添加总部的子部门01时,下边就应该是0105了,谁能指点下怎样算出0105这个值,谢谢了!
---------------------------------------------------------------------------
code(vechar 20) name parent(vechar 20)
---------------------------------------------------------------------------
01 总部
0101 营销一部 01
0102 营销二部 01
0103 营销三部 01
0104 营销四部 01 该表是部门表,无限分类
我现在想实现用程序往表里边添加数据时能自动算出新的部门号,即现在添加总部的子部门01时,下边就应该是0105了,谁能指点下怎样算出0105这个值,谢谢了!
select cast(max(code) as unsigned)+1 new_code from t_depart where parent='01';
SELECT right( '10000' + cast( max( code ) AS unsigned ) +1, 4 )
FROM t_depart
WHERE parent = '01';
不过,我还是受到了你的启发
SELECT right( '10000' + cast( max( code ) AS unsigned ) +1, 4 )
FROM t_depart
WHERE parent = '01';