SQL - Crear una función escalar que regrese el empleado que vendió mayor cantidad de productos

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 18 puestos en SQL (en relación al último mes)
Gráfica de SQL

Crear una función escalar que regrese el empleado que vendió mayor cantidad de productos

Publicado por Karen (3 intervenciones) el 06/08/2020 22:38:14
Ayuda, tengo que crear una función que me devuelva el empleado que vendió más productos.
Tengo la tabla Employees, que tiene el EmployeeID, LastName, FirstName, etc; la tabla Orders que tiene OrderID, CustomerID, EmployeeID, OrderDate, entre otros no relevantes; y la tabla Order Details que tiene OrderID, ProductID, UnitPrice, Quantity y Discount.
Por lo que tengo que sumar la cantidad de productos por orden, luego sumar la cantidad de productos por empleado y después buscar el empleado con mayor productos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 8
Ha aumentado su posición en 18 puestos en SQL (en relación al último mes)
Gráfica de SQL

Crear una función escalar que regrese el empleado que vendió mayor cantidad de productos

Publicado por Karen (3 intervenciones) el 06/08/2020 22:53:57
Tengo algo como esto:
1
SELECT Employees.EmployeeID, SUM([Order Details].Quantity) FROM  [Order Details] INNER JOIN Orders ON [Order Details].OrderID=Orders.OrderID INNER JOIN Employees ON Employees.EmployeeID=Orders.EmployeeID GROUP BY Employees.EmployeeID
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 18 puestos en SQL (en relación al último mes)
Gráfica de SQL

Crear una función escalar que regrese el empleado que vendió mayor cantidad de productos

Publicado por Karen (3 intervenciones) el 06/08/2020 23:20:39
1
2
3
4
5
6
7
CREATE FUNCTION EmpleadoQueVendioMas () RETURNS int
  AS
  BEGIN
    DECLARE @Empleado int
    SELECT TOP 1 @Empleado=Employees.EmployeeID  FROM  [Order Details] INNER JOIN Orders ON [Order Details].OrderID=Orders.OrderID INNER JOIN Employees ON Employees.EmployeeID=Orders.EmployeeID GROUP BY Employees.EmployeeID ORDER BY SUM([Order Details].Quantity) DESC
    RETURN @Empleado
  END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar