Sql Oracle到Derby-ConnectBy,从Derby中的等效项开始
下面的问题1对于Oracle来说没有问题。我希望在Derby中执行相同的功能。我得到了问题2,作为这里要遵循的建议之一。但这仍然是一个错误。请有人帮我把这个处理掉。我该怎么办 查询1:Sql Oracle到Derby-ConnectBy,从Derby中的等效项开始,sql,oracle,derby,db2-luw,connect-by,Sql,Oracle,Derby,Db2 Luw,Connect By,下面的问题1对于Oracle来说没有问题。我希望在Derby中执行相同的功能。我得到了问题2,作为这里要遵循的建议之一。但这仍然是一个错误。请有人帮我把这个处理掉。我该怎么办 查询1: Select f.folder_id, f.identifier From FOLDER f, STOREENT se Where f.type = 'AttributeFolder' And se.storeent_id = f.stor
Select f.folder_id, f.identifier
From FOLDER f, STOREENT se
Where f.type = 'AttributeFolder'
And se.storeent_id = f.storeent_id
And se.identifier = 'Global_CAS'
And f.identifier = 10051
connect by prior f.folder_id = f.parentfolder_id
start with f.identifier = 'Categories Descriptors [Global.B2C.Sales]'
with cte as (
select folder_id, f.identifier, cast(null as varchar(255)) parentfolder_id,
0 as depth,
se.identifier as se_identifier
from folder f
join storeent se on se.storeent_id = f.storeent_id
where f.identifier = 'A'
union all
select f.folder_id, f.identifier, f.parentfolder_id,
cte.depth + 1 as depth,
se.identifier as se_identifier
from folder f
join storeent se on se.storeent_id = f.storeent_id
join cte cte on f.parentfolder_id = cte.folder_id
)
Select parentfolder_id, folder_id, identifier, depth
from cte
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "with" at line 1, column 1
查询2:
Select f.folder_id, f.identifier
From FOLDER f, STOREENT se
Where f.type = 'AttributeFolder'
And se.storeent_id = f.storeent_id
And se.identifier = 'Global_CAS'
And f.identifier = 10051
connect by prior f.folder_id = f.parentfolder_id
start with f.identifier = 'Categories Descriptors [Global.B2C.Sales]'
with cte as (
select folder_id, f.identifier, cast(null as varchar(255)) parentfolder_id,
0 as depth,
se.identifier as se_identifier
from folder f
join storeent se on se.storeent_id = f.storeent_id
where f.identifier = 'A'
union all
select f.folder_id, f.identifier, f.parentfolder_id,
cte.depth + 1 as depth,
se.identifier as se_identifier
from folder f
join storeent se on se.storeent_id = f.storeent_id
join cte cte on f.parentfolder_id = cte.folder_id
)
Select parentfolder_id, folder_id, identifier, depth
from cte
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "with" at line 1, column 1
错误1:
Select f.folder_id, f.identifier
From FOLDER f, STOREENT se
Where f.type = 'AttributeFolder'
And se.storeent_id = f.storeent_id
And se.identifier = 'Global_CAS'
And f.identifier = 10051
connect by prior f.folder_id = f.parentfolder_id
start with f.identifier = 'Categories Descriptors [Global.B2C.Sales]'
with cte as (
select folder_id, f.identifier, cast(null as varchar(255)) parentfolder_id,
0 as depth,
se.identifier as se_identifier
from folder f
join storeent se on se.storeent_id = f.storeent_id
where f.identifier = 'A'
union all
select f.folder_id, f.identifier, f.parentfolder_id,
cte.depth + 1 as depth,
se.identifier as se_identifier
from folder f
join storeent se on se.storeent_id = f.storeent_id
join cte cte on f.parentfolder_id = cte.folder_id
)
Select parentfolder_id, folder_id, identifier, depth
from cte
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "with" at line 1, column 1
目前,derby不支持递归查询,请参见(2004年开放,最后一次评论是在2014年)。不幸的是,您不能在单个查询中完成这项工作,您必须自己编写某种树遍历循环。目前,derby不支持递归查询,请参阅(2004年开放,最后一次评论于2014年)。不幸的是,您不能在单个查询中完成这项工作,您必须自己编写某种树遍历循环