首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xquery错误:使用where子句时

xquery错误:使用where子句时
EN

Stack Overflow用户
提问于 2012-11-01 02:03:15
回答 1查看 789关注 0票数 0
代码语言:javascript
复制
{
    for $movie in distinct-values(doc("movies.xml")/movies/movie)
    where count(doc("movies.xml")/movies/movie[title=$movie/title]) = count(distinct-values(doc("movies.xml")/movies/movie/source))
    return
    <title> {$movie/title} </title> 
}

在这个特定的查询中,我试图:在"movies“文档中查找从所有来源提供的电影标题。我在where子句的行上遇到错误。错误是:'/‘的第一个操作数所需的项类型是node();提供的值具有项类型xs:anyAtomicType

EN

回答 1

Stack Overflow用户

发布于 2012-11-01 03:08:10

问题是distinct-values()返回不同的字符串值,所以您尝试对字符串使用xpath表达式。$movie/title的计算结果为(xs:string)/title,这是无效的,并引发异常。

但是根据我对你的目标的理解,我认为这个查询不会返回你想要的结果。尝试这个解决方案来返回所有来源提供的电影标题:

代码语言:javascript
复制
let $sources-distinct-all := count(distinct-values(doc("movies.xml")/movies/movie/source))
for $title in distinct-values(doc("movies.xml")/movies/movie/title) 
let $sources-distinct-movie := count(distinct-values(doc("movies.xml")/movies/movie[title eq $title]/source))
where ($sources-distinct-all eq $sources-distinct-movie)
return $title
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13164044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档