怎么求出数据表里的最明细级科目?
表chart有如下数据,其中字段名为
chartcode
字段内容如下
01
011
02
03
04
0401
0402
040
041
042
有没有办法根据chartcode字段用一条SQL语句(不要存储过程)把所有最明细级的科目求出来?
比如以上的所有最明细科目就应该是 011,02,03,0401,0402,041,042
最明细的意思就是没有下级科目的,即他自己的chartcode不会成为别的chartcode的前缀,比如01就是011的前缀,04就是040的前缀而040又是0401,0402的前缀,所以01,04,040都不是最明细科目
------解决方案--------------------select t.* from 表 t where not exists(select 1 from 表 where chartcode like t.chartcode+ '% ' and len(chartcode)> len(t.chartcode))