У меня есть XQuery, который должен суммировать все копии Книги, которые имеются в наличии для определенной ветки библиотеки.Номера филиалов - 1,2,3 и 4, так что цикл for можно использовать для учета этого числа.Мне нужно выяснить, сколько книг в каждой ветке (1, 2, 3 или 4).
Я уже пытался использовать функцию суммы для XQuery, но она не складывает суммукниги для каждого филиала, вместо этого он просто суммирует все книги для всех филиалов, что составляет 99. Таким образом, он говорит, что в филиале 1 было 99 книг, в филиале 2 - 99 книг и т. д.
Iя уже сделал это в SQL-запросе, но мне нужно преобразовать его в XQuery.
SQL-запрос:
SELECT SUM(OnHand) as onHand_sum
from Inventory
WHERE BranchNum ='$inputBranch'
Мне нужна помощь с частью "Stock BookCopies =" вкод ниже.
XQuery:
<results>
{
for $x in doc("C:\basex\henry\Branch.xml")/dataroot/Branch
let $s := doc("C:\basex\henry\Inventory.xml")/dataroot/Inventory
where $x/BranchNum = $s/BranchNum
return
<row>
<Branch Number="{$x/data(BranchNum)}" Name="{$x/data(BranchName)}"/>
<Stock Bookcopies="{sum($s/data(OnHand))}"/>
</row>
}
</results>
Этот код суммирует все книги для всех ветвей и выводит 99 для каждой ветви.
Мне нужно что-то вроде 27 для ветви 130 для ветви 2 и т. Д.
Branch.xml
<?xml version="1.0" encoding="UTF-8" ?>
<dataroot>
<Branch>
<BranchNum>1</BranchNum>
<BranchName>Henry Downtown</BranchName>
<BranchLocation>16 Riverview</BranchLocation>
<NumEmployees>10</NumEmployees>
</Branch>
<Branch>
<BranchNum>2</BranchNum>
<BranchName>Henry On The Hill</BranchName>
<BranchLocation>1289 Bedford</BranchLocation>
<NumEmployees>6</NumEmployees>
</Branch>
<Branch>
<BranchNum>3</BranchNum>
<BranchName>Henry Brentwood</BranchName>
<BranchLocation>Brentwood Mall</BranchLocation>
<NumEmployees>15</NumEmployees>
</Branch>
<Branch>
<BranchNum>4</BranchNum>
<BranchName>Henry Eastshore</BranchName>
<BranchLocation>Eastshore Mall</BranchLocation>
<NumEmployees>9</NumEmployees>
</Branch>
</dataroot>
Inventory.xml
<?xml version="1.0" encoding="UTF-8" ?>
<dataroot>
<Inventory>
<BookCode>0180</BookCode>
<BranchNum>1</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>0189</BookCode>
<BranchNum>2</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>0200</BookCode>
<BranchNum>1</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>0200</BookCode>
<BranchNum>2</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>0378</BookCode>
<BranchNum>3</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>079X</BookCode>
<BranchNum>2</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>079X</BookCode>
<BranchNum>3</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>079X</BookCode>
<BranchNum>4</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>0808</BookCode>
<BranchNum>2</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>1351</BookCode>
<BranchNum>2</BranchNum>
<OnHand>4</OnHand>
</Inventory>
<Inventory>
<BookCode>1351</BookCode>
<BranchNum>3</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>1382</BookCode>
<BranchNum>2</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>138X</BookCode>
<BranchNum>2</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>2226</BookCode>
<BranchNum>1</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>2226</BookCode>
<BranchNum>3</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>2226</BookCode>
<BranchNum>4</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>2281</BookCode>
<BranchNum>4</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>2766</BookCode>
<BranchNum>3</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>2908</BookCode>
<BranchNum>1</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>2908</BookCode>
<BranchNum>4</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>3350</BookCode>
<BranchNum>1</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>3743</BookCode>
<BranchNum>2</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>3906</BookCode>
<BranchNum>2</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>3906</BookCode>
<BranchNum>3</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>5163</BookCode>
<BranchNum>1</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>5790</BookCode>
<BranchNum>4</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>6128</BookCode>
<BranchNum>2</BranchNum>
<OnHand>4</OnHand>
</Inventory>
<Inventory>
<BookCode>6128</BookCode>
<BranchNum>3</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>6328</BookCode>
<BranchNum>2</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>669X</BookCode>
<BranchNum>1</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>6908</BookCode>
<BranchNum>2</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>7405</BookCode>
<BranchNum>3</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>7443</BookCode>
<BranchNum>4</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>7559</BookCode>
<BranchNum>2</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>8092</BookCode>
<BranchNum>3</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>8720</BookCode>
<BranchNum>1</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>9611</BookCode>
<BranchNum>1</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>9627</BookCode>
<BranchNum>3</BranchNum>
<OnHand>5</OnHand>
</Inventory>
<Inventory>
<BookCode>9627</BookCode>
<BranchNum>4</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>9701</BookCode>
<BranchNum>1</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>9701</BookCode>
<BranchNum>2</BranchNum>
<OnHand>1</OnHand>
</Inventory>
<Inventory>
<BookCode>9701</BookCode>
<BranchNum>3</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>9701</BookCode>
<BranchNum>4</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>9882</BookCode>
<BranchNum>3</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>9883</BookCode>
<BranchNum>2</BranchNum>
<OnHand>3</OnHand>
</Inventory>
<Inventory>
<BookCode>9883</BookCode>
<BranchNum>4</BranchNum>
<OnHand>2</OnHand>
</Inventory>
<Inventory>
<BookCode>9931</BookCode>
<BranchNum>1</BranchNum>
<OnHand>2</OnHand>
</Inventory>
</dataroot>