站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题sql语句如何写?

sql语句如何写?

摘要: sql语句如何写?


我有一个project表,表名project,里面有id,name,parentid等字段,parentid为父项目id,与父项目的id字段关联,我现在比如说我知道了一个id,我想把他所包含的子项目甚至孙子项目。。。。就是以这条记录为根节点,一直到叶结点,把这些记录全选出来,可我不知道怎么写sql语句,请各位指教。


select * from project where parentid in (select id from project where parentid='id')


似乎冒似不是这么简单,直接用sql你所说的表中应是实现不了。可考虑在代码中进行结果集处理。


嗯,似乎也是无穷递归,如果根节点下的子孙节点没有层限制的话

Hibernate处理这种自关联的表也会出现一些问题


一个sql语句无法实现,只能通过Java的迭代算法


可以用层次查询语句实现,比如oracle下是这么实现的:
SELECT level,
id,name,
SYS_CONNECT_BY_PATH(name,'/') PATH
FROM project
START WITH name='DOG'
CONNECT BY PRIOR parentid=id;


如果怕产生循环或者需要控制层数,可用NOCYCLE参数和level控制
where lever<=....
...
connect by nocycle prior...



同意dogod


↑返回目录
前一篇: 请问大家现在市面上有EJB3.0的书吗?
后一篇: 如何生成序列号