Relation Data bases
Enviado por lotima74 • 8 de Junio de 2017 • Informe • 1.502 Palabras (7 Páginas) • 189 Visitas
***********************************************
PREGUNTA 1
***********************************************
**************** QUERY ************************
select top (1) p.nombre as [Nombre del Producto], sum(o.cantidad) as [Cantidad],
sum(case when o.cantidad>5 then o.cantidad * p.precio_may
else o.cantidad * p.precio_uni end) as [Total]
from Orden o
INNER JOIN Productos p ON o.id_prod = p.id_prod
group by p.nombre
order by Cantidad
select top (1) p.nombre as [Nombre del Producto], sum(o.cantidad) as [Cantidad],
sum(case when o.cantidad>5 then o.cantidad * p.precio_may
else o.cantidad * p.precio_uni end) as [Total]
from Orden o
INNER JOIN Productos p ON o.id_prod = p.id_prod
group by p.nombre
order by Cantidad DESC
************** TABLA ****************************
CREATE TABLE dbo.ExamenDBR
(
Producto nchar(50) NOT NULL,
Cantidad int NOT NULL,
Total float NOT NULL
)
************* CURSOR 1 (MIN) ****************************
DECLARE @Producto nchar(50),
@Cantidad int,
@Total float
DECLARE CursorInfo CURSOR
FOR
select top (1) p.nombre as [Nombre del Producto], sum(o.cantidad) as [Cantidad],
sum(case when o.cantidad>5 then o.cantidad * p.precio_may
else o.cantidad * p.precio_uni end) as [Total]
from Orden o
INNER JOIN Productos p ON o.id_prod = p.id_prod
group by p.nombre
order by Cantidad
OPEN CursorInfo
FETCH NEXT FROM CursorInfo
INTO @Producto,
@Cantidad,
@Total
WHILE (@@FETCH_STATUS <> -1)
BEGIN
INSERT INTO ExamenDBR
(Producto,
Cantidad,
Total )
VALUES (@Producto,
@Cantidad,
@Total)
FETCH NEXT FROM CursorInfo
INTO @Producto,
@Cantidad,
@Total
END
CLOSE CursorInfo
DEALLOCATE CursorInfo
GO
************* CURSOR 1 (MAX) ****************************
DECLARE @Producto nchar(50),
@Cantidad int,
@Total float
DECLARE CursorInfo CURSOR
FOR
select top (1) p.nombre as [Nombre del Producto], sum(o.cantidad) as [Cantidad],
sum(case when o.cantidad>5 then o.cantidad * p.precio_may
else o.cantidad * p.precio_uni end) as [Total]
from Orden o
INNER JOIN Productos p ON o.id_prod = p.id_prod
group by p.nombre
order by Cantidad DESC
OPEN CursorInfo
FETCH NEXT FROM CursorInfo
INTO @Producto,
@Cantidad,
@Total
WHILE (@@FETCH_STATUS <> -1)
BEGIN
INSERT INTO ExamenDBR
(Producto,
Cantidad,
Total )
VALUES (@Producto,
@Cantidad,
@Total)
FETCH NEXT FROM CursorInfo
INTO @Producto,
@Cantidad,
@Total
END
CLOSE CursorInfo
DEALLOCATE CursorInfo
GO
******************************************************************************
***********************************************
PREGUNTA 2
***********************************************
**************** QUERY ************************
select top(1) e.nombres as Empleado,
s.nombre as [Sucursal],
SUM(case when o.cantidad>5 then o.cantidad * p.precio_may
else o.cantidad * p.precio_uni end) as Total
from Empleados e
INNER JOIN Orden o ON e.id_emp=o.id_emp
INNER JOIN Productos p ON p.id_prod=o.id_prod
INNER JOIN dbo.Sucursal s ON e.sucursal=s.id_suc
GROUP BY e.nombres, s.nombre
order by Total
select top(1) e.nombres as Empleado,
s.nombre as [Sucursal],
SUM(case when o.cantidad>5 then o.cantidad * p.precio_may
else o.cantidad * p.precio_uni end) as Total
from Empleados e
INNER JOIN Orden o ON e.id_emp=o.id_emp
INNER JOIN Productos p ON p.id_prod=o.id_prod
INNER JOIN dbo.Sucursal s ON e.sucursal=s.id_suc
GROUP BY e.nombres, s.nombre
order by Total DESC
************** TABLA ****************************
CREATE TABLE dbo.ExamenDBR
(
Nombre nchar(80) NOT NULL,
Sucursal nchar(50) NOT NULL,
Total float NOT NULL
)
************* CURSOR 1 (MIN) ****************************
DECLARE @Nombre nchar(80),
@Sucursal nchar(50),
@Total float
DECLARE CursorInfo CURSOR
FOR
select top(1) e.nombres as Empleado,
s.nombre as [Sucursal],
SUM(case when o.cantidad>5 then o.cantidad * p.precio_may
else o.cantidad * p.precio_uni end) as Total
from Empleados e
INNER JOIN Orden o ON e.id_emp=o.id_emp
INNER JOIN Productos p ON p.id_prod=o.id_prod
INNER JOIN dbo.Sucursal s ON e.sucursal=s.id_suc
GROUP BY e.nombres, s.nombre
order by Total
OPEN CursorInfo
FETCH NEXT FROM CursorInfo
INTO @Nombre,
@Sucursal,
@Total
WHILE (@@FETCH_STATUS <> -1)
BEGIN
INSERT INTO ExamenDBR
(Nombre,
Sucursal,
Total )
VALUES (@Nombre,
@Sucursal,
@Total)
FETCH NEXT FROM CursorInfo
INTO @Nombre,
@Sucursal,
@Total
END
CLOSE CursorInfo
DEALLOCATE CursorInfo
GO
************* CURSOR 1 (MAX) ****************************
DECLARE @Nombre nchar(80),
@Sucursal nchar(50),
@Total float
DECLARE CursorInfo CURSOR
FOR
select top(1) e.nombres as Empleado,
...