所以问题是哪位导演至少导演了两部电影以及电影的标题是什么。
我知道如何获取事实,但我不能让我的查询在没有不必要的迭代的情况下返回两件事。
我的代码如下所示:
let $x := doc("/info.../videos.xml")/result/videos/video
for $director in distinct-values($x/director)
where count($x[director eq $director]) > 2
for $title in $x
where $title/director = $director
return ($director, $title/title)
现在这会返回1个导演和3个标题,但结果如下:
总 标题1
总 标题2
总 TITLE3
是否可以采用这种格式
总
标题1
标题2
TITLE3
使用相同的代码?例如。通过某种方式在一个Query中使用两个单独的返回值?
答案 0 :(得分:0)
是的,这是可能的。第二个表达式可以跟在第一个结果序列中的$director
:
for $director in distinct-values($x/director)
where count($x[director eq $director]) > 2
return ($director,
for $title in $x
where $title/director = $director
return $title/title)
您还可以将标题查询的结果存储在变量中:
for $director in distinct-values($x/director)
let $titles :=
for $title in $x
where $title/director = $director
return $title/title
where count($x[director eq $director]) > 2
return ($director, $titles)