2013-11-22 75 views
0

我有一個問題,處理Xquery。 我的目標是顯示不同元素的所有元素從一個循環具有相同的屬性,但另一個不同。已經有48小時了,我無法前進! :(通過通用條件屬性列出屬性

在這裏,我有表的類型的例子:

<people> 
<crazy id="123" firstname="John" lastname="Fool" score="20"> 
<crazy id="123" firstname="John" lastname="Fool" score="80"> 
<crazy id="123" firstname="John" lastname="Fool" score="77"> 
<crazy id="123" firstname="John" lastname="Fool" score="49"> 
<crazy id="789" firstname="Lea" lastname="Dumb" score="54"> 
<crazy id="789" firstname="Lea" lastname="Dumb" score="89"> 
<crazy id="789" firstname="Lea" lastname="Dumb" score="99"> 
<crazy id="789" firstname="Lea" lastname="Dumb" score="4"> 
<crazy id="247" firstname="Paul" lastname="Duck" score="16"> 
<crazy id="247" firstname="Paul" lastname="Duck" score="91"> 
<crazy id="247" firstname="Paul" lastname="Duck" score="22"> 
<crazy id="247" firstname="Paul" lastname="Duck" score="31"> 
</people> 

我想獲得類似的東西:

<person>247</person> 

(這是對一個列表具有比「50」更多的2分以下的人的「id」

我有類似的東西

let $calc:= (

    for $boucle in people where ($boucle/@score>="50") 
    return $boucle 

) 

現在,我想列出大於50 ,但我不知道如何着手:(中有小於2「分數」的人數:(

回答

0

我不是100 %確定你想要什麼,但我認爲是這樣的:

for $id in distinct-values(//crazy/@id) 
    where count(//crazy[@id = $id and number(@score) gt 50]) lt 2 
return <person>{$id}</person>