0

目前我被困在生成具有多个路径的查询的问题上。我可以完成从crx 存储库中的特定单个根路径搜索子节点的情况。我为此使用关键字isdecendantnodenode()

select * from [nt:base] as p
where
   (isdescendantnode (p, [first path])) 
   and contains(p.*, '"bankproducts"')
   and p.[sling:resourceType] = 'components/content/download'

正如我所说,这很好用。现在我必须面对挑战,搜索确实出现在两个或多个不同子节点中的元素 - 在同一层次结构级别中。

我实现这一目标的尝试如下:

select * from [nt:base] as p
where
   (isdescendantnode (p, [first path]) and isdescendantnode(p, [second path]))
   and contains(p.*, '"bankproducts"')
   and p.[sling:resourceType] = 'components/content/download'

这仅给了我返回它们仅在第二条路径中的元素(在我看来)。

下一个示例导致存储库异常:

select * from [nt:base] as p
where
   (isdescendantnode (p, ([first path] and [second path]))
   and contains(p.*, ' "bankproducts"')
   and p.[sling:resourceType] = 'components/content/download'

可能关键字的顺序是错误的。我的想法已经用完了,所以 SO 属于我所拥有的最后一个选项。

提前致谢

4

1 回答 1

0

在路径条件中使用 'OR' -- (isdescendantnode (p, [first path]) or isdescendantnode(p, [second path]))

于 2012-12-19T03:53:52.283 回答