<div dir="ltr"><font face="verdana, sans-serif">Hola Leo, cómo estás?</font><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Duda: en las proyecciones, inciso e:</font><div><font face="verdana, sans-serif"> precios promedio de los productos</font></div>
<div style><font face="verdana, sans-serif">indicas que hay que proyectar cod, des, prod, promedio</font></div><div style><font face="verdana, sans-serif"><br></font></div><div style><font face="verdana, sans-serif">pero, qué promedio ? esta tabla productos no debería tener un solo precio por producto ?</font></div>
<div style><font face="verdana, sans-serif">o repetimos los datos para agregar más de un precio a cada producto y así poder hacer este ejercicio?</font></div><div style><font face="verdana, sans-serif"><br></font></div><div style>
<font face="verdana, sans-serif"><br></font></div><div style><font face="verdana, sans-serif">Resto:</font></div><div style><font face="verdana, sans-serif"><br></font></div><div style><div><font face="verdana, sans-serif"><b>a: productos y su cantidad</b> </font></div>
<div><font face="verdana, sans-serif"> </font></div><div><font face="verdana, sans-serif"><i>variante 1: muestra total de stock por producto, sin discriminar almacen</i></font></div><div><font face="verdana, sans-serif"><br>
</font></div><div><font face="verdana, sans-serif"> SELECT P.codigo, P.descripcion, P.precio, sum(S.cantidad) as Stock</font></div><div><font face="verdana, sans-serif"> FROM (productos as P, stock as S)</font></div><div>
<font face="verdana, sans-serif"> WHERE P.id=S.id_producto</font></div><div><font face="verdana, sans-serif"> GROUP BY S.id_producto</font></div><div><font face="verdana, sans-serif"> </font></div><div><font face="verdana, sans-serif"> </font></div>
<div><font face="verdana, sans-serif"><i>variante 2: muestra total de stock por producto y por almacen</i></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"> SELECT P.codigo, P.descripcion, P.precio, S.cantidad,A.nombre</font></div>
<div><font face="verdana, sans-serif"> FROM (productos as P)</font></div><div><font face="verdana, sans-serif"> JOIN stock as S on P.id=S.id_producto</font></div><div><font face="verdana, sans-serif"> JOIN almacenes as A on S.id_almacen=A.id</font></div>
<div><font face="verdana, sans-serif"> GROUP BY S.id_almacen,S.id_producto </font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br>
</font></div><div><div><b><font face="verdana, sans-serif">b: productos con stock mayor a 590</font></b></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"> SELECT P.codigo, P.descripcion, P.precio, SUM( S.cantidad ) as Stock</font></div>
<div><font face="verdana, sans-serif"> FROM (productos AS P, stock AS S)</font></div><div><font face="verdana, sans-serif"> WHERE P.id = S.id_producto</font></div><div><font face="verdana, sans-serif"> GROUP BY S.id_producto, P.descripcion</font></div>
<div><font face="verdana, sans-serif"> HAVING SUM( S.cantidad ) > 590</font></div></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br>
</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><div><b>c: cantidad de productos por almacen</b></div><div><br></div><div> SELECT A.nombre as "Almacen", sum(S.cantidad) as "Stock Total"</div>
<div> FROM (almacenes as A, stock as S)</div><div> WHERE A.id=S.id_almacen</div><div> GROUP BY S.id_almacen</div><div> ORDER BY A.nombre</div></font></div><div><font face="verdana, sans-serif"><br></font></div>
<div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><div><b>d: total de productos</b></div><div> </div><div><i>variante 1: cantidad de articulos con stock mayor a 0 </i></div><div>
<br></div><div> SELECT count(distinct id_producto) as "Cantidad de articulos con stock"</div><div> FROM stock</div><div> WHERE cantidad>0</div><div> </div>
<div><i>variante 2: cantidad total de articulos en sistema </i></div><div><br></div><div> SELECT count(id) as "Cantidad de articulos"</div><div> FROM productos</div><div><br></div><div><br></div><div><br></div>
<div><br></div><div><div><b>f: total de productos por almacen </b></div><div><br></div><div style><i>si se refiere a total de stock de cada producto por almacen:</i></div><div> SELECT A.nombre as "Almacen", P.descripcion, sum(S.cantidad) as "Stock"</div>
<div> FROM (almacenes as A)</div><div> JOIN stock as S on A.id=S.id_almacen</div><div> JOIN productos as P on S.id_producto=P.id</div><div> GROUP BY S.id_almacen,P.codigo </div></div><div style><br></div><div style><i>si se refiere a cantidad de artículos por almacen:</i></div>
<div><div> SELECT A.nombre as "Almacen", COUNT(S.id_producto) as "Cant.Arts."</div><div> FROM (almacenes as A)</div><div> JOIN stock as S on A.id=S.id_almacen</div><div> GROUP BY S.id_almacen</div>
</div><div style><br></div><div><br></div><div><div><b>g: precios promedios por almacen</b></div><div> SELECT A.nombre as "Almacen", round(avg(P.precio),2) as "Precio Promedio"</div><div> FROM (almacenes as A)</div>
<div> JOIN stock as S on A.id=S.id_almacen</div><div> JOIN productos as P on P.id=S.id_producto </div><div> GROUP BY S.id_almacen</div></div><div><br></div><div style>de vuelta: un solo precio por producto por almacen, es decir, que el promedio es teniendo en cuenta todos los productos del almacen</div>
<div><br></div><div><br></div></font></div><div><font face="verdana, sans-serif"><br></font></div></div></div></div>