Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2012, 13:38
dark_17
 
Fecha de Ingreso: noviembre-2012
Ubicación: Villa Maria, Peru
Mensajes: 46
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema con SUM en Mysql

Tratare de ser los mas entendible posible, mi consulta es la siguiente:
Tengo una pequeña BD en el cual relaciono la tabla VENTA con la tabla TIPO_VENTA y con la tabla HOTEL.Hay 3 tipos de venta:
-Por Telefono
-Por Web
-Personalmente
Y tengo mi consulta que es la siguiente:

Código MySQL:
Ver original
  1. SELECT v.id_venta as CODIGO , v.wp_hotel_iddepart,v.wp_tipoventa_idtipo_venta, v.clientev, v.apartamento,v.fecha_real_checkin, v.fecha_real_checkout, v.num_habitaciones, v.num_real_adultos, v.num_real_ninos, v.num_noches,v.procedencia,v.facturado,v.costo_fijos, v.costo_variables ,t.tv_descripcion, h.d_descripcion, v.costo_fijos + v.costo_variables AS 'TOTAL COSTES',
  2. v.facturado - (v.costo_fijos + v.costo_variables) as PROFIT,
  3. round(((v.facturado - (v.costo_fijos + v.costo_variables))/(v.facturado))*100,2) AS PORCENTAJE
  4. FROM wp_venta v
  5. INNER JOIN wp_tipoventa t ON v.wp_tipoventa_idtipo_venta= t.idtipo_venta
  6. INNER JOIN wp_hotel h ON v.wp_hotel_iddepart= h.iddepart
  7. WHERE v.estado_venta ='1' order by v.id_venta desc
En esta consulta uno esas tablas, y genero columnas calculadas, a las cuales ,EN OTRA CONSULTA quiero sumarlas:

Código MySQL:
Ver original
  1. SELECT MONTHNAME(v.fecha_venta) as MES,v.fecha_venta,
  2. SUM(v.facturado),
  3. SUM(v.costo_fijos),
  4. SUM( v.costo_variables),
  5. SUM(v.costo_fijos + v.costo_variables) AS 'TOTAL COSTES',
  6. SUM(v.facturado - (v.costo_fijos + v.costo_variables)) as PROFIT
  7. FROM wp_venta v
  8. INNER JOIN wp_tipoventa t ON v.wp_tipoventa_idtipo_venta= t.idtipo_venta
  9. INNER JOIN wp_hotel h ON v.wp_hotel_iddepart= h.iddepart
  10. WHERE v.estado_venta ='1'
  11. group by MONTHNAME(v.fecha_venta)
  12. order by v.id_venta desc

El problema esta en que tambien tengo que hallar la suma de cada tipo de venta
por ejemplo la suma de las ventas hechas por telefono, por web y personalmente, cada uno en una columna, junto con las otras sumas mencionadas arriba..
No se si me deje entender quedaria algo asi

T_FACT. ---- T_COSTOSFIJOS ----- T_VENTAWEB ----- T_VENTATELEFONO---T_VENTAPERSONAL
550 ---------- 100 -------------- 200 ------------- 300 ------------- 50

Obviamente sumando los 3 tipos de venta me debe de dar el total que 550
Pero no puedo, se me vino a la mente hacer una subconsulta por cada tipo de venta, para que asi me muestre una columna con TODOS LAS VENTAS QUE HAYAN SIDO DEL TIPO WEB y aplicarle el SUM a ese select, pero me bota error:

Código MySQL:
Ver original
  1. SELECT MONTHNAME(v.fecha_venta) as MES,
  2. v.fecha_venta,SUM(v.facturado),
  3.  
  4. v.facturado
  5. FROM wp_venta v
  6. INNER JOIN wp_tipoventa t ON v.wp_tipoventa_idtipo_venta= t.idtipo_venta
  7. WHERE v.estado_venta ='1' and idtipo_venta='2'
  8. order by v.id_venta desc)
  9.  
  10. SUM(v.costo_fijos),
  11. SUM( v.costo_variables),
  12. SUM(v.costo_fijos + v.costo_variables) AS 'TOTAL COSTES',
  13. SUM(v.facturado - (v.costo_fijos + v.costo_variables)) as PROFIT
  14. FROM wp_venta v
  15. INNER JOIN wp_tipoventa t ON v.wp_tipoventa_idtipo_venta= t.idtipo_venta
  16. INNER JOIN wp_hotel h ON v.wp_hotel_iddepart= h.iddepart
  17. WHERE v.estado_venta ='1'
  18. group by MONTHNAME(v.fecha_venta)
  19. order by v.id_venta desc

Última edición por gnzsoloyo; 03/12/2012 a las 03:36 Razón: Código SQL sin etiquetar