Tema: consulta
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/12/2017, 09:20
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: consulta

http://www.artfulsoftware.com/infotree/qrytip.php?id=78

el ejemplo desglozado por si te da pereza leer:

Código MySQL:
Ver original
  1. CREATE TABLE Sales (empID INT, yr SMALLINT, sales DECIMAL(10,2));
  2. INSERT sales VALUES
  3. (1, 2005, 12000),(1, 2006, 18000),(1, 2007, 25000),
  4. (2, 2005, 15000),(2, 2006, 6000),(3, 2006, 20000),(3, 2007, 24000);
  5.  
  6.  
  7.   IFNULL(empId,'Totals') AS EmpId,       -- outer query labels rollup row
  8.   sums.2005, sums.2006, sums.2007,       -- and calculates horizontal sums
  9.   sums.2005 + sums.2006 + sums.2007 AS Sums
  10. FROM (                                   -- inner query groups by employee
  11.   SELECT                                 -- with an expression for each column
  12.     EmpID,
  13.     SUM(IF(Yr=2005,sales,0)) As '2005',
  14.     SUM(IF(Yr=2006,sales,0)) As '2006',
  15.     SUM(IF(Yr=2007,sales,0)) As '2007'
  16.   FROM Sales
  17. ) AS sums;
  18. +--------+----------+----------+----------+-----------+
  19. | EmpId  | 2005     | 2006     | 2007     | Sums      |
  20. +--------+----------+----------+----------+-----------+
  21. | 1      | 12000.00 | 18000.00 | 25000.00 |  55000.00 |
  22. | 2      | 15000.00 |  6000.00 |     0.00 |  21000.00 |
  23. | 3      |     0.00 | 20000.00 | 24000.00 |  44000.00 |
  24. | Totals | 27000.00 | 44000.00 | 49000.00 | 120000.00 |
  25. +--------+----------+----------+----------+-----------+

Lo que se busca en ese ejemplo es sacar las ventas de cada año, aqui tendrias que acomodarlo a tus necesidades, en lugar de sum por year sum por precio y cantidad
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me