我应该使用给我的结构编写一个XQuery。但是,我有一个我不确定如何解决的错误,想寻求建议。
这是我已经解决的查询:
FOR $y IN db/sells/row
$x IN db/products/row[pid = $x/pid]
RETURN <product>
<name>{$x/name}</name>
<price>{$x/price}</price>
<description>{$y/description}</description>
{FOR $z IN db/stores/row[sid = $y/sid]
RETURN <store>
<name>{$z/name}</name>
<phone>{$z/phone}</phone>
<markup>{$y/markup}</markup>
</store>
}
</product>
</products>```
The row that the error highlighted was:
{FOR $z IN db/stores/row[sid = $y/sid]
and i have an error that states expected "}", found "$"
[1]: https://i.stack.imgur.com/8eyzq.png
Would really appreciate if you could help me. Thank you.
XQuery中的关键字必须为小写,因此“ FOR”,“ IN”,“ RETURN”都必须转换为小写。但是,即使那样,也会出现编译错误,因为您需要使用逗号或另一个“ for”关键字“来将变量$x
绑定到另一个循环。
因此,将编译以下内容:
for $y in db/sells/row,
$x in db/products/row[pid = $y/pid]
return <product>
<name>{$x/name}</name>
<price>{$x/price}</price>
<description>{$y/description}</description>
{for $z in db/stores/row[sid = $y/sid]
return <store>
<name>{$z/name}</name>
<phone>{$z/phone}</phone>
<markup>{$y/markup}</markup>
</store>
}
</product>