Created
June 23, 2017 11:07
-
-
Save brayancruces/b63b0718f7c0d3c13bd2094a34c52954 to your computer and use it in GitHub Desktop.
QUERIES
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Listar el importe neto vendido por cliente cuya region de envio es NM , mostrar solo aquellos clientes con importe neto vendido mayor a 100,000 | |
Mostar id, nombre , ciudad importe ordenelo por importe vendido */ | |
SELECT C.CustomerID , C.CompanyName , C.City , MONTO_VENTA=CONVERT(money,SUM((od.Quantity*od.UnitPrice*(1-od.Discount)))) | |
FROM Region R inner join Territories T on R.RegionID=T.RegionID | |
join EmployeeTerritories ET on T.TerritoryID=ET.TerritoryID | |
join Employees E on E.EmployeeID=ET.EmployeeID | |
join Orders O on O.EmployeeID=E.EmployeeID | |
join Customers C on C.CustomerID=O.CustomerID | |
join [Order Details] od on od.OrderID=o.OrderID | |
GROUP BY C.CustomerID , C.CompanyName , C.City | |
HAVING SUM((od.Quantity*od.UnitPrice*(1-od.Discount)))>100000 | |
ORDER BY MONTO_VENTA desc | |
SELECT * FROM Orders | |
WHERE ShipRegion = 'NM' | |
SELECT c.CustomerID, c.CompanyName, MONTO_VENTA=CONVERT(money,SUM((od.Quantity*od.UnitPrice*(1-od.Discount)))) | |
FROM Customers c inner join Orders O on O.CustomerID=c.CustomerID | |
join [Order Details] od on od.OrderID=O.OrderID | |
WHERE O.ShipRegion = 'NM' | |
GROUP BY c.CustomerID, c.CompanyName | |
HAVING SUM((od.Quantity*od.UnitPrice*(1-od.Discount)))>50000 | |
/* Preg 2 | |
Mostrar la lista de proveedores / (Suppliers) cuyos productos estan a punto de quedarse sin stock. Segun Nortwhind si la diferencia | |
entre los productos prendientes de entrega y el stock es menor a 5 ya se debe realizar un pedido al proveedor | |
Listar el nombre del proveedor,codigo del proveedor, nombre del producto , unidades pendientes de entrega , unidades en stock | |
y la cantidad faltante de stock */ | |
SELECT s.CompanyName , s.SupplierID , p.ProductName , SUM(od.Quantity) 'Pedidos' , p.UnitsInStock , | |
SUM(od.Quantity)-p.UnitsInStock 'Faltante' | |
FROM Suppliers s inner join Products p on s.SupplierID = p.SupplierID | |
join [Order Details] od on od.ProductID=p.ProductID | |
join Orders o on od.OrderID=o.OrderID | |
WHERE o.ShippedDate is NULL and p.UnitsInStock < 5 | |
GROUP BY s.CompanyName , s.SupplierID , p.ProductName , p.UnitsInStock | |
HAVING SUM(od.Quantity)>p.UnitsInStock | |
/* Mostrar los codigos de ordenes y la cantidad de productos (quantity) en cada orden de las ordenes que hayan superado las 250 | |
unidades de productos vendidos . Siempre y cuando la diferencia de dias entre la fecha de la orden y la fecha de despacho sea mayor a 7 */ | |
SELECT o.OrderID , SUM(od.Quantity) | |
FROM Orders o inner join [Order Details] od on o.OrderID=od.OrderID | |
join Products p on p.ProductID=od.ProductID | |
WHERE DATEDIFF(DD, o.OrderDate,o.ShippedDate) > 7 | |
GROUP BY o.OrderID | |
HAVING SUM(od.Quantity) > 250 | |
/* Se quiere otorgar un incentivo a los empleados onomasticos , para lo cual en el mes de su cumpleaños se le | |
entregara un bono equivalente al 5% del monto de la venta efectuada por el durante el mes . | |
Obtener la relacion de empleados que se haran acreedores de dicho bono , mostrando el ID EMPLEADO , | |
APELLIDO , NOMBRE , FECHA DE NACIMIENTO e importe a entregar */ | |
CREATE view VW_EMPLEADOS AS | |
SELECT E.EmployeeID , E.LastName , E.FirstName , E.BirthDate , COMISION_A_PAGAR=SUM((od.Quantity*od.UnitPrice*(1-od.Discount)*0.005)) | |
FROM Employees E inner join Orders O ON E.EmployeeID=O.EmployeeID | |
join [Order Details] od on od.OrderID=o.OrderID | |
WHERE MONTH(o.OrderDate) = MONTH(E.BirthDate) | |
GROUP BY E.EmployeeID , E.LastName , E.FirstName , E.BirthDate | |
ORDER BY E.EmployeeID | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment