首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >希望在Xquery中的"where“子句中有"for”语句

希望在Xquery中的"where“子句中有"for”语句
EN

Stack Overflow用户
提问于 2014-11-17 07:31:03
回答 1查看 78关注 0票数 0

我正在尝试运行以下Xquery:

代码语言:javascript
运行
复制
for $a1 in doc("TSS_Data.xml")/root/auditions/audition, $a2 in doc("TSS_Data.xml")/root/auditions/audition
where ($a1/@ID != $a2/@ID and $a1/@contestantId != $a2/@contestantId and $a1/@artworkId = $a2/@artworkId and 
$a1/@showId = $a2/@showId)
    for $s1 in doc("TSS_Data.xml")/root/scores/score[@auditionId = $a1/@ID], 
    $s2 in doc("TSS_Data.xml")/root/scores/score[@auditionId = $a2/@ID]
        return data (doc("TSS_Data.xml")/root/contestants/contestant[@ID = $a1/@contestantId]/@name)

但是,我在第4行得到了一个错误,意外的标记"for“,这是错误的语法吗?如何在"where“子句中编写"for”循环?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-17 08:39:28

for总是需要一个return语句,就像您在内部循环中所做的那样。因此,它应该是

代码语言:javascript
运行
复制
for $a1 in doc("TSS_Data.xml")/root/auditions/audition, $a2 in doc("TSS_Data.xml")/root/auditions/audition
where ($a1/@ID != $a2/@ID and $a1/@contestantId != $a2/@contestantId and $a1/@artworkId = $a2/@artworkId and $a1/@showId = $a2/@showId)
return
    for $s1 in doc("TSS_Data.xml")/root/scores/score[@auditionId = $a1/@ID], 
    $s2 in doc("TSS_Data.xml")/root/scores/score[@auditionId = $a2/@ID]
        return data (doc("TSS_Data.xml")/root/contestants/contestant[@ID = $a1/@contestantId]/@name)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26967609

复制
相关文章

相似问题

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