表结构:看图
a => a1 => aa3 怎么样可以使用一条SQL语句查找最顶层的ID?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你这种设计就注定了你只能用递归了,省了空间,费了时间。
以空间换时间,加一个字段,保存一个全路径,比如
a a
a1 a/a1
aa3 a/a1/aa3
后面的字段,就是全路径,至于这个字段的值怎么构造,随便了。
也可以直接用id构造
a 14
a1 14/18
aa3 14/18/34
一目了然。
你这个结构,一条sql想反查,难。你是可以根据pid和grade去构造一个复杂的嵌套sql语句去反查,但是,也是递归查N次,低效不推荐。