У меня проблемы с получением XQuery для подсчета продаж за два года, он основан на SQL-запросе.
SELECT [ShipCountry] & " " & [ShipCity] AS CountryAndCity, COUNT(OrderID) AS BiYearlySales
FROM Orders
WHERE (((OrderDate) BETWEEN #1/1/1996# And #1/1/1998#))
GROUP BY [ShipCountry] & " " & [ShipCity];
Это xquery, который я получил до сих пор, но он учитывает только каждыйэкземпляр один раз.Не могу понять, почему.Я использую Altova xmlspy - xquery 1.0 для него.
<Result>
{
for $a in doc("Orders.xml")/dataroot/Orders
let $b := concat($a/ShipCountry, " ", $a/ShipCity)
where $a/OrderDate >= '1996-01-01T00:00:00' and $a/OrderDate <= '1998-01-01T00:00:00'
return
<BiYearlySales>
<CountryNameAndCity>{$b}</CountryNameAndCity>
<OrderCount>{count($a)}</OrderCount>
</BiYearlySales>
}
</Result>
Я понимаю, что еще не сделал группу, но попытка добиться этой работы более важна.