- From: Michael Rys <mrys@microsoft.com>
- Date: Mon, 18 Feb 2002 09:49:08 -0800
- To: "Chen Yabing" <iscp0054@nus.edu.sg>, <www-ql@w3.org>
- Message-ID: <5C39F806F9939046B4B1AFE652500A3AB3A1AC@RED-MSG-10.redmond.corp.microsoft.com>
You basically have a join with your three FOR clauses. In order to do what you want to do, you have to move some of the FOR into the RETURN. Best regards Michael -----Original Message----- From: Chen Yabing [mailto:iscp0054@nus.edu.sg] Sent: Monday, February 18, 2002 4:21 AM To: 'www-ql@w3.org' Subject: Combine sub elements in identical elements 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 12:50:27 UTC