Ver Mensaje Individual
  #10 (permalink)  
Antiguo 10/04/2009, 07:33
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Promedio 2 campos

Hola matias.

O no te estas explicando bien, o estas implementando inadecuadamente las soluciones que tienes.

Código mysql:
Ver original
  1. mysql> create table det_com_venta(codventa integer, codpro integer, cantidad integer, precio_com integer, sucursal varchar(1));
  2. Query OK, 0 rows affected (0.06 sec)
  3.  
  4. mysql> insert into det_com_venta values(12,1,2,125,'A');
  5. Query OK, 1 row affected (0.00 sec)
  6.  
  7. mysql> insert into det_com_venta values(18,1,1,125,'A');
  8. Query OK, 1 row affected (0.00 sec)
  9.  
  10. mysql> insert into det_com_venta values(19,1,1,65,'A');
  11. Query OK, 1 row affected (0.00 sec)
  12.  
  13. mysql> insert into det_com_venta values(20,1,1,125,'A');
  14. Query OK, 1 row affected (0.00 sec)
  15.  
  16. mysql> insert into det_com_venta values(21,1,1,75,'A');
  17. Query OK, 1 row affected (0.00 sec)
  18.  
  19. mysql> select *from det_com_venta;
  20. +-----------+---------+----------+--------+----------+
  21. | codventa | codpro | cantidad| precio_com|sucursal |
  22. +-----------+---------+----------+--------+----------+
  23. | 12        | 1       | 2        | 125    | A        |
  24. | 18        | 1       | 1        | 125    | A        |
  25. | 19        | 1       | 1        | 65     | A        |
  26. | 20        | 1       | 1        | 125    | A        |
  27. | 21        | 1       | 1        | 75     | A        |
  28. +-----------+---------+----------+--------+----------+
  29. 5 rows in set (0.00 sec)
  30.  
  31. mysql> SELECT (sum(t1.precio_com*t1.cantidad) / sum(t1.cantidad)) as promedio
  32.     -> FROM (SELECT precio_com,cantidad FROM det_com_venta
  33.     -> WHERE codpro = 1 ORDER BY codventa LIMIT 10) t1;
  34. +----------+
  35. | promedio |
  36. +----------+
  37. | 106.6667 |
  38. +----------+
  39. 1 row in set (0.00 sec)

Si no estoy mal, es la salida que quieres, con los datos que tienes, con el producto y venta que tienes.

Espero te sirva.

PD: Cuando jurena se refiere a dcv y t1 son los alias que pone a las tablas para un manejo mas limpio de los campos que requieres de cada una de las tablas. En este caso, el resultado de una consulta se simula como la existencia de una tabla. dcv es la tabla original y t1 es la tabla simulada con la consulta.
Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 10/04/2009 a las 07:47