问题编号014:怎样写这个句SQL语句?

renwangxing 2008-03-13 01:25:51
有一棵树,树高为4,其中,根结点下面有若干一级节点,一级节点下面有若干二级节点,二级节点下面有若干三级节点,三级节点的的属性中有分为(1,2,3,4,5)五个节点标志,三级结点标志的顺序不固定,现在要求根据传入的二级节点ID查出来所有与该二级节点平级的所有带有结点标志为1,2的三级节点,怎么查??假设该表为tree,有nodeid,nodeflag字段。

举个例子, --根结点
--一级节点一
--二级节点一
--三级节点一 1
--三级节点二 3
--三级节点三 2
--三级节点四 4
--二级节点二
--三极节点五 4
--三极节点六 2
--二级节点三
--三级节点七 1
--二级节点四
--三级节点八 3
--一级节点二
--二级节点五
--三级节点九 1
--三级节点十 3
--三级节点十一 2
--三级节点十二 4
--二级节点六
--三极节点十三 4
--三极节点十四 2



比如我把二级节点二的ID传进去出来的就是 三级节点一 ,三级节点三,三极节点六,三级节点七的节点ID.
...全文
150 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
psyl 2008-03-13
  • 打赏
  • 举报
回复
学习,确实现在有些公司会面试到这些题目
renwangxing 2008-03-13
  • 打赏
  • 举报
回复
自己动手,丰衣足食,我写出来了,但是有三个select那么多,有什么更好办法吗,还有就是把这句查询语句放到SQL/PL中查询是正确的,但是把他放到JSP文件查询后台报错“无效列名”,可知为何,数据库连接语句正确的。
"select m.nodeid,from tree where m.parentid in(select m.nodeid from tree where m.parentid=(select m.parentid from tree m where m.nodeid="+点击的模块ID+")) and m.nodeflag in(1,2)"
renwangxing 2008-03-13
  • 打赏
  • 举报
回复
有,请看一楼补充
Java_Tang 2008-03-13
  • 打赏
  • 举报
回复
“假设该表为tree,有nodeid,nodeflag字段。”再加个父节点的ID,就好办了
Java_Tang 2008-03-13
  • 打赏
  • 举报
回复
“假设该表为tree,有nodeid,nodeflag字段。”再加个父节点的ID,就好办了
renwangxing 2008-03-13
  • 打赏
  • 举报
回复
忘了。还有一个parennodeid字段

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧