如何在XQuery中从常规比较中返回值?

如何在XQuery中从常规比较中返回值?,xquery,Xquery,我目前有这个查询,但它只返回一个布尔值TRUE let $expression1 := (0, 11, 22, 34, 36, 57) let $expression2 := (16, 17, 57, 18) for $item in ($sequence1 = $sequence2) return $item 此查询当前返回布尔值TRUE。 如何返回两个值的序列:第一个表达式的值和第二个表达式的值 任何帮助都将不胜感激。 谢谢 您得到的是布尔结果,因为($sequence1=$sequen

我目前有这个查询,但它只返回一个布尔值TRUE

let $expression1 := (0, 11, 22, 34, 36, 57)
let $expression2 := (16, 17, 57, 18)

for $item in ($sequence1 = $sequence2)
return $item
此查询当前返回布尔值TRUE。 如何返回两个值的序列:第一个表达式的值和第二个表达式的值

任何帮助都将不胜感激。
谢谢

您得到的是布尔结果,因为
($sequence1=$sequence2)
的计算结果为“在
$sequence1
中是否有任何值等于
$sequence2
中的任何值?”。对于true中的$item()返回$item,其计算结果为
,返回单个布尔值

如果要仅返回两个序列中的值:

return $sequence1[. = $sequence2]
如果要同时返回两个序列:

return ($sequence1, $sequence2)
如果要返回两个不重复的序列:

return distinct-values(($sequence1, $sequence2))

未定义变量$sequence1和$sequence2。听起来像是在期待一个嵌套序列((0,11,22,34,36,57),(16,17,57,18))。XQuery将嵌套序列展平为普通序列,因此没有嵌套序列的概念。您需要将XML用于XQuery中的嵌套数据结构。如果这是你所期望的,我可以给你一个答案。