标题:初学SQLite,遇到一个解决不了的问题,特求教各路高手
只看楼主
wmr19871105
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-1-5
 问题点数:0 回复次数:2 
初学SQLite,遇到一个解决不了的问题,特求教各路高手
将原有的Oracle语句转化成普通的SQL来执行。sqlite中没有connect by prior   start with语句,请问我该怎么改?
select u.user_id, u.truename, u.name from user u,
(select t.group_id, t.group_name, t.group_parent from user_group t
connect by prior t.group_id=t.group_parent start with t.group_parent=(select group_id
from user where user_id=2 and rownum<=1)) t
where t.group_id=u.group_id and u.state<>3

求高手指教!
搜索更多相关主题的帖子: Oracle where start 
2013-01-05 10:24
zb427505
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-1-28
得分:0 
。。。。。。
2013-01-28 09:06
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
得分:0 
利用mssql中的CTE可以这样来做:
;with cte as
(
   select ug.group_id, ug.group_name, ug.group_parent from user_group ug
   where ug.group_parent=
   (
      select group_id from user where user_id=2 and rownum<=1
   )
   union all
   select c.group_id, c.group_name, c.group_parent from cte c inner join user_group g
   on c.group_id=g.group_parent
)
select u.user_id, u.truename, u.name
from user u,(select * from cte) as t
where t.group_id=u.group_id and u.state<>3

♂ 死后定当长眠,生前何须久睡。♀
2013-08-29 16:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-395141-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.139847 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved