none
Agrupar filas de una sub consulta que cuenta con subtotales RRS feed

  • Pregunta

  • La siguiente consulta la construí para la BD Northwind. Lo que hace es extraer lo total vendido en cada orden y a qué empleado le pertenece dicha orden

    select Employees.EmployeeID,Employees.FirstName,Orders.OrderID,
           (select SUM([Order Details].UnitPrice*[Order Details].Quantity)
               from [Order Details]
               where [Order Details].OrderID=Orders.OrderID)
      from Employees,Orders
      where Orders.EmployeeID=Employees.EmployeeID

    tiene este resultado:

    

    pero ¿Cómo puedo sub totalizar lo vendido por cada empleado? por ejemplo:

    Steven   1065     <==(440+625)

    Michael  1863     

    Margaret  5543   <== (1813+3730)

    etc.

    Gracias.


    Programmer Peru

    viernes, 4 de noviembre de 2016 1:05

Respuestas

  • Programmer pERU,

    No tienes mas que sumar el monto por cada pedido agrupando los resultados por empleado:

    SELECT
        e.EmployeeID,
        e.FirstName,
        ISNULL(SUM(od.UnitPrice * od.Quantity), 0)
    FROM 
        Employees e
        LEFT JOIN Orders o ON (e.EmployeeID = o.EmployeeID)
        LEFT JOIN [Order Details] od ON (o.OrderID = od.OrderID)
    GROUP BY
        e.EmployeeID,
        e.FirstName;


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Programmer pERU viernes, 4 de noviembre de 2016 1:32
    viernes, 4 de noviembre de 2016 1:24

Todas las respuestas

  • Programmer pERU,

    No tienes mas que sumar el monto por cada pedido agrupando los resultados por empleado:

    SELECT
        e.EmployeeID,
        e.FirstName,
        ISNULL(SUM(od.UnitPrice * od.Quantity), 0)
    FROM 
        Employees e
        LEFT JOIN Orders o ON (e.EmployeeID = o.EmployeeID)
        LEFT JOIN [Order Details] od ON (o.OrderID = od.OrderID)
    GROUP BY
        e.EmployeeID,
        e.FirstName;


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Programmer pERU viernes, 4 de noviembre de 2016 1:32
    viernes, 4 de noviembre de 2016 1:24
  • Muchas gracias.

    Programmer Peru

    viernes, 4 de noviembre de 2016 1:32
  • Gracias por la respuesta, ¿cómo debe entenderse la ejecución de la consulta?

    Gracias.


    Programmer Peru

    viernes, 4 de noviembre de 2016 1:34