Vistas
-Vista: Listado (Genérica)
CREATE VIEW Listado AS
SELECT
IdProd,[Link],[Link],Precio,Exist
FROM Productos JOIN Categorias
ON ([Link]=[Link])
GO
-Vista: Ofertas (Específica de Listado)
CREATE VIEW Ofertas AS
SELECT * FROM Listado
WHERE Precio<=20
GO
-Vista: Novedades (Específica de Listado)
CREATE VIEW Novedades AS
SELECT * FROM Listado
WHERE Precio>=50
GO
-Vista: DatosProds (Datos de los Productos para la Administración)
CREATE VIEW DatosProds AS
SELECT IdProd,[Link],[Link]
[Proveedor],
[Link],Presentacion,Precio,Exist,Costo
FROM Proveedores JOIN (Productos JOIN Categorias
ON ([Link]=[Link]))
ON ([Link]=[Link])
GO
-Crear la vista 'VerPedidos', que muestre los datos de la tabla
'Pedidos', especificando Razón Social del Cliente, Nombre del
Empleado y Razón Social de la Distribuidora
CREATE VIEW VerPedidos AS
SELECT IdPed,[Link] [Cliente],[Link]
[Empleado],
FechaPedido,FechaEntrega,FechaEnvio,[Link]
[Distribuidora],
[Link]
FROM Clientes JOIN (Empleados JOIN (Pedidos JOIN Distribuidoras
ON ([Link]=[Link]))
ON ([Link]=[Link]))
ON ([Link]=[Link])
GO
-Trabajando con la vista VerPedidos
¿Cuantos pedidos ha manejado cada Disribuidora?
CREATE VIEW nPedDist AS
SELECT Distribuidora,COUNT(*) [Pedidos]
FROM VerPedidos
GROUP BY Distribuidora
GO
-Mostrar la cantidad de pedidos por Distribuidora Empleado
CREATE VIEW nPedEmp AS
SELECT Distribuidora,Empleado,COUNT(IdPed) [Pedidos]
FROM VerPedidos
GROUP BY Distribuidora,Empleado
GO
-¿Cuantos productos hay en cada Categoría?
CREATE VIEW ProdCat AS
SELECT Categoria,COUNT(IdProd) [Productos]
FROM Listado
GROUP BY Categoria
GO
-¿Cuál es el precio promedio en cada Categoría?
CREATE VIEW PrecPromCat AS
SELECT Categoria,ROUND(AVG(Precio),2) [PrecioPromedio]
FROM Listado
GROUP BY Categoria
GO
-Mostrar la Valorización de la Mercadería por Categoría
CREATE VIEW ValorProds AS
SELECT Categoria,SUM(Precio * Exist) [Valor]
FROM Listado
GROUP BY Categoria
GO
-¿Cuáles son la existencias por Categoría?
CREATE VIEW ExistCat AS
SELECT Categoria,SUM(Exist) [Existencias]
FROM Listado
GROUP BY Categoria
GO
-¿Cuantos pedidos se han recibido en cada año?
CREATE VIEW PedsAnyo AS
SELECT YEAR(FechaPedido) [Anyo],COUNT(IdPed) [Pedidos]
FROM VerPedidos
GROUP BY YEAR(FechaPedido)
GO
-Mostrar cantidad de pedidos por Año y Mes
CREATE VIEW PedsAnyoMes AS
SELECT YEAR(FechaPedido) [Anyo],MONTH(FechaPedido)
[Mes],COUNT(IdPed) [Pedidos]
FROM VerPedidos
GROUP BY YEAR(FechaPedido),MONTH(FechaPedido)
GO
-Mostrar los cumpleaños de los Empleados por Mes y Día
CREATE VIEW CumplEmps AS
SELECT MONTH(FechaNac) [Mes],DAY(FechaNac) [Dia],Nombre
FROM Empleados
GO
-¿Cuantos años lleva trabajando en la Empresa cada empleado?
CREATE VIEW EmpAnyos AS
SELECT Nombre,(YEAR(GETDATE()-FechaIng)-1900) [Anyos]
FROM Empleados
GO
-Crear una vista que la cantdad ACUMULADA de pedidos poe Empleado
CREATE VIEW PedsEmps AS
SELECT Empleado,COUNT(IdPed) [Pedidos]
FROM VerPedidos
GROUP BY Empleado
GO