Está en la página 1de 2

--*******************************************************************************

-- Nombre: TINTAYA TTITO IBEHT


-- Código: 134164
--*******************************************************************************
--****** EXAMEN DE LABORATORIO *********

/*1.- Escribir las sentencias SQL para mostrar la relación de artículos cuyo stock sea menor a 10
unidades R(CodArticulo, Descripcion, UnidadMedida, Stock)*/

--Para actualizar nuestro almacen y tener es stock real Calculamos el total de entradas y salidas
-- Calculamos el total de entradas de Articulo
select d.CodArticulo,sum(d.Cantidad)as NroEntrada
into #ArticulosEntrada
from Entrada_Detalle d
group by d.CodArticulo
order by d.CodArticulo

--Calculamos el total de salidas de Articulo


select salida.CodArticulo,sum(salida.Cantidad) as NroSalida
into #ArticulosSalida
from Salida_Detalle salida
group by salida.CodArticulo
order by salida.CodArticulo
select * from #ArticulosEntrada
select * from #ArticulosSalida
drop table #ArticuloStock
--Calculamos el stock Articulo
select E.CodArticulo ,(E.NroEntrada-IsNUll(S.NroSalida,0)) as Stock
into #ArticuloStock
from #ArticulosEntrada E left outer join #ArticulosSalida S on E.CodArticulo=S.CodArticulo
-- Completamos informacion para el dar respuesta segun nos pide
-- teniendo en cuenta menor a 10 unidades
select Arti.CodArticulo,A.Descripcion,A.UnidadMed,Arti.Stock
from #ArticuloStock Arti inner join Articulo A on Arti.CodArticulo=A.CodArticulo
where Arti.Stock<10
/*2.- Escribir las sentencias SQL para determinar a los cinco proveedores a los que la empresa les
hizo más compras. (Considerar los montos o importes acumulados).
R(CodProveedor, RazonSocial, Ciudad, Importe)*/

-- Para sacar el CodProveedor y el Costo unitario creamos una tabla temporal #TL1 haciendo una
seleccion de inner join DOcEntrada
select E.DocEntrada, E.CodProveedor, ED.CostoUnitario into #TL1 from Entrada E inner join
Entrada_Detalle ED
on E.DocEntrada = ED.DocEntrada

-- Seleccionamos los 5 proveedores a los que la empresa les hizo mas compras
select Top 5 CodProveedor, sum(CostoUnitario) as Importe , count(DocEntrada) as CantCompras
into #TL2 from #TL1 group by CodProveedor order by CantCompras desc

-- Completamos informacion para el dar respuesta segun nos pide


select T.CodProveedor, P.RazonSocial, P.Ciudad, T.Importe from #TL2 T inner join Proveedor P on
T.CodProveedor = P.CodProveedor

También podría gustarte