我正在尝试运行以下Xquery:
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”循环?
发布于 2014-11-17 08:39:28
for总是需要一个return语句,就像您在内部循环中所做的那样。因此,它应该是
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)https://stackoverflow.com/questions/26967609
复制相似问题