मुझे मेरी वांछित स्कीमा मिल रही है। लेकिन एक चीज जो मुझे करने की ज़रूरत है वह डुप्लिकेट मानों को खत्म करना है। इसलिए मैं अलग-अलग मानों का उपयोग करता हूं, लेकिन वह कार्य क्या करता है यह सभी तत्वों को एक तत्व के भीतर प्रदर्शित करता है।Xquery विशिष्ट-मूल्य
इनपुट स्कीमा:
<?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>
किसी भी मदद की सराहना की होगी :)