Está en la página 1de 2

1.

-Mostrar el numero de pedido, nombre del cliente e importe del pedido de


todos los clientes excepto de los que viven en Berlin
Create View VistaP
As
Select OrderID,SUM(Quantity*UnitPrice*(1-Discount)) As 'Importe del Pedido' from [Order
Details]
Group By OrderID

Select o.OrderID,c.CompanyName,v.[Importe del Pedido] from Customers c


Inner Join Orders o ON c.CustomerID=o.CustomerID
Inner Join VistaP v ON o.OrderID=v.OrderID
Where Not (c.City = 'Berlin')

2.- Mostrar el numero de pedido, nombre del cliente e importe del pedido de
aquellos pedidos donde se haya requerido de los dos productos mas
costosos de la categora condimentos

- Esta es una forma algo desordenada

Create View VistaP


As
Select OrderID,SUM(Quantity*UnitPrice*(1-Discount)) As 'Importe del Pedido' from [Order
Details]
Group By OrderID

Select o.OrderID,c.CompanyName,v.[Importe del Pedido] from Customers c


Inner Join Orders o ON c.CustomerID=o.CustomerID
Inner Join VistaP v ON o.OrderID=v.OrderID
where v.OrderID IN(
Select OrderID From [Order Details]
where ProductID IN(
Select Top(2) ProductID from Products where CategoryID =(
Select CategoryID from Categories where CategoryName = 'Condiments')
Order By UnitPrice DESC))

- Esta es una forma digamos ordenada

Create View VistaP


As
Select OrderID,SUM(Quantity*UnitPrice*(1-Discount)) As 'Importe del Pedido' from [Order
Details]
Group By OrderID

Create View VistaPro


As
Select Top(2) ProductID from Products where CategoryID =(
Select CategoryID from Categories where CategoryName = 'Condiments')
Order By UnitPrice DESC

Select o.OrderID,c.CompanyName,v.[Importe del Pedido] from Customers c


Inner Join Orders o ON c.CustomerID=o.CustomerID
Inner Join VistaP v ON o.OrderID=v.OrderID
where v.OrderID IN(
Select OrderID From [Order Details]
where ProductID IN(
Select ProductID from VistaPro
))
3.-Mostrar el cdigo y nombre del producto, la cantidad de ejemplares
pedidos (Quantity) de cada producto. Mostrar la informacin de todos y cada
uno los productos
Nota : en esta pregunta no estoy seguro pero aqu les pongo 2 respuestas si
saben la respuesta pasenla
--1
Select p.ProductID, p.ProductName, od.Quantity AS Cantidad from Products p
Inner join [Order Details] od ON p.ProductID=od.ProductID
Order By ProductID

--2
Select p.ProductID, p.ProductName, Sum(od.Quantity) AS Cantidad from Products p
Inner join [Order Details] od ON p.ProductID=od.ProductID
Group By p.ProductID, p.ProductName
Order By ProductID

4.-Mostrar el importe total del descuento realizado en aquellos pedidos cuyo importe
sea mayor de 1000

Create View VistaP


As
Select OrderID,SUM(Quantity*UnitPrice*(1-Discount)) As 'Importe del Pedido' from [Order
Details]
Group By OrderID

Select SUM(Quantity*UnitPrice*Discount) As 'Importe Total del Descuento' from [Order


Details]
where OrderID IN(Select OrderID from VistaP where [Importe del Pedido] >1000)

5.- Mostrar el cdigo y nombre del producto (de todos los productos) junto con la
cantidad de pedidos que ha tenido el producto y el importe total del pedido de dicho
producto, de los productos que han sido requeridos durante el ao 1996

Create View VistaP1


As
Select ProductID,count(*) AS Cantidad ,SUM(Quantity*UnitPrice*(1-Discount)) As
'Importe del Pedido' from [Order Details]
Group By ProductID

Select p.ProductID,p.ProductName,v.Cantidad,v.[Importe del Pedido] from Products p


Inner Join VistaP1 v ON p.ProductID= v.ProductID
where v.ProductID IN(
Select ProductID from [Order Details]
where OrderID IN(
Select OrderID from Orders
where Year(OrderDate) = '1996'))

También podría gustarte