gpt4 book ai didi

Xquery 不同值

转载 作者:行者123 更新时间:2023-12-02 04:48:30 24 4
gpt4 key购买 nike

我正在获得我想要的架构。但我需要做的一件事是消除重复值。因此,我使用不同的值,但该函数的作用是显示一个元素内的所有值。

输入架构:

<?xml version="1.0" encoding="UTF-8"?>
<hotel>
<food>
<name>Burger</name>
<cost>20</cost>
</food>
<food>
<name>Pizza</name>
<cost>20</cost>
</food>
<food>
<name>Cola</name>
<cost>5</cost>
</food>
<food>
<name>Lemonade</name>
<cost>5</cost>
</food>
<food>
<name>Ice Cream</name>
<cost>10</cost>
</food>
<food>
<name>Cookies</name>
<cost>10</cost>
</food>
</hotel>

当前输出:

<type>
<cost>01</cost>
<food>burger fries cola</food>
</type>

期望:

<type>
<cost>01</cost>
<food>burger</food>
<food>fries</food>
<food>cola</food>
</type>

基本上以这个价格买到所有食物。

我的Xquery如下:

let $cost:= doc("Untitled7.xml")/hotel/food/cost
for $unique in distinct-values(doc("Untitled7.xml")/hotel/food/cost)
let $food:= distinct-values(doc("Untitled7.xml")hotel/food[cost=$unique]/name)
where $unique = $cost
return
<type>
<year>{$unique}</year>
<food>{$food}</food>
</type>

任何帮助将不胜感激:)

最佳答案

distinct-values() 将返回字符串序列:('burger', 'fries', 'cola'),但现在您立即输出它。您需要做的是在另一个 FLWOR 语句中迭代 $food 变量:

return
<type>
<year>{$unique}</year>
{
for $f in $food return <food>{$f}</food>
}
</type>

关于Xquery 不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19738564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com