1
我想通过区域的名称获取区域的名称,产品的数量和产品的最小库存订单的面额。XQuery中的min()函数
我几乎得到了除了不打印任何东西的面额外。
我的代码:
for $zone in distinct-values(/productos/produc/cod_zona)
let $numero := count(/productos/produc[cod_zona = $zone]/cod_prod)
let $nomzona:=/zonas/zona[cod_zona = $zone]/nombre
let $minimo :=min(/productos/produc[cod_zona = $zone]/stock_minimo)
let $deno :=/productos/produc[stock_minimo=$minimo]/denominacion
order by $nomzona ascending
return concat('Zona:', $nomzona,' ',
'Productes:', $numero,' ',
'Mínim stock:', $deno
结果:
Zona:Andalucía Productes:2 Mínim stock: //here must be print like that "Placa base "
Zona:Extremadura-Galicia Productes:3 Mínim stock:
Zona:Levante-Cataluña Productes:4 Mínim stock:
Zona:Madrid-CENTRO Productes:4 Mínim stock:
productos.xml:
<productos>
<TITULO>DATOS DE LA TABLA PRODUCTOS</TITULO>
<produc>
<cod_prod>1010</cod_prod>
<denominacion>Placa Base MSI G41M-P26</denominacion>
<precio>50</precio>
<stock_actual>10</stock_actual>
<stock_minimo>3</stock_minimo>
<cod_zona>10</cod_zona>
</produc>
<produc>
<cod_prod>1011</cod_prod>
<denominacion>Micro Intel Core i5-2320</denominacion>
<precio>120</precio>
<stock_actual>3</stock_actual>
<stock_minimo>5</stock_minimo>
<cod_zona>10</cod_zona>
</produc>
<produc>
<cod_prod>1012</cod_prod>
<denominacion>Micro Intel Core i5 2500</denominacion>
<precio>170</precio>
<stock_actual>5</stock_actual>
<stock_minimo>6</stock_minimo>
<cod_zona>20</cod_zona>
</produc>
<produc>
<cod_prod>1013</cod_prod>
<denominacion>HD Seagate Barracuda 250GB SATA</denominacion>
<precio>80</precio>
<stock_actual>10</stock_actual>
<stock_minimo>5</stock_minimo>
<cod_zona>20</cod_zona>
</produc>
<produc>
其它XML: zonas.xml:
<zonas>
<TITULO>DATOS DE LA TABLA ZONAS</TITULO>
<zona>
<cod_zona>10</cod_zona>
<nombre>Madrid-CENTRO</nombre>
<director>Pedro Martín</director>
</zona>
<zona>
<cod_zona>20</cod_zona>
<nombre>Extremadura-Galicia</nombre>
<director>Alicia Pérez</director>
</zona>
<zona>
我在做什么错?
感谢/格拉西亚斯/留言Merci
非常感谢您的帮助。优秀的解释。 – user3325719
@ user3325719如果您还有其他问题,请告诉我。如果没有,请接受答案:) – wst