- From: Chen Yabing <iscp0054@nus.edu.sg>
- Date: Mon, 18 Feb 2002 20:20:43 +0800
- To: "'www-ql@w3.org'" <www-ql@w3.org>
- Message-ID: <834541D9D742D211A18F0000F81E6921027C272C@exs27.comp.nus.edu.sg>
Hi, it seems that XQuery cannot place elements together even if they have same parent elements in the result. I mean that the result will produce two identical elements for each sub elements. For example, the source document: <db> <project jno="j001"> <supplier sno="s001"> <part pno="p001" > <price>190</price> </part> </supplier> <supplier sno="s002"> <part pno="p001"> <price>110</price> </part> </supplier> </project> <project jno="j002"> <supplier sno="s002"> <part pno="p002"> <price>120</price> </part> </supplier> </project> </db> the query is: FOR $j IN document("spj.xml")//project, $s IN $j/supplier, $p IN $s/part WHERE $p/price >100 return <project jno = {$j/@jno}> <supplier sno = {$s/@sno}> <part pno = {$p/@pno}> {$p/price} </part> </supplier> </project> and the result is: <project jno="j001"> <supplier sno="s001"> <part pno="p001"> <price>190</price> </part> </supplier> </project> <project jno="j001"> <supplier sno="s002"> <part pno="p001"> <price>110</price> </part> </supplier> </project> <project jno="j002"> <supplier sno="s002"> <part pno="p002"> <price>120</price> </part> </supplier> </project> </xql:result> In the ideal situation, the query result should be identical to the source document. but there are two project whose jno is "j001". If I want to produce a result which will combine elements under the identical parent elements together so that there are only one parent elements. How can I do based on the above query? Thank you!
Received on Monday, 18 February 2002 07:21:03 UTC