Relation Data bases
Enviado por Kate • 31 de Octubre de 2018 • 1.512 Palabras (7 Páginas) • 376 Visitas
...
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,
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
OPEN CursorInfo
FETCH NEXT FROM CursorInfo
INTO @Nombre,
@Sucursal,
@Total
...