Ver Mensaje Individual
  #13 (permalink)  
Antiguo 12/05/2009, 13:29
Avatar de GeoAvila
GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 21 años
Puntos: 53
Respuesta: Separar y sumar datos de una misma columna

Cita:
Iniciado por TonyChile Ver Mensaje
Ahora si los suma lo hice de esta forma:

Código sql:
Ver original
  1. SELECT     factura, movil,
  2.                           (SELECT     SUM(valor + sobrecargo) AS TOTAL
  3.                             FROM          trafico
  4.                             WHERE      factura = a.factura AND movil = a.movil), SUM(valor + sobrecargo) AS total, CASE WHEN servicio = 'BAM' THEN SUM(valor + sobrecargo)
  5.                       ELSE 0 END AS BAM, CASE WHEN servicio = 'MMS' THEN SUM(valor + sobrecargo) ELSE 0 END AS MMS,
  6.                       CASE WHEN servicio = 'RPV' THEN SUM(valor + sobrecargo) ELSE 0 END AS RPV, CASE WHEN servicio = 'SME' THEN SUM(valor + sobrecargo)
  7.                       ELSE 0 END AS SME, CASE WHEN servicio = 'SMR' THEN SUM(valor + sobrecargo) ELSE 0 END AS SMR,
  8.                       CASE WHEN servicio = 'TEL' THEN SUM(valor + sobrecargo) ELSE 0 END AS TEL, CASE WHEN servicio = 'TLL' THEN SUM(valor + sobrecargo)
  9.                       ELSE 0 END AS TLL
  10. FROM         trafico a
  11. WHERE     factura = '16209216'
  12. GROUP BY factura, movil, servicio

Pero aun sigen saliendo los tipos de servicios en diferentes lineas (bam,mms,etc hacia abajo) la idea es que salgan en una sola linea todos hacia al lado
Como me esta saliendo es asi:

con este orden:
factura, movil, total general(se ve sin nombre), total(por cada uno), bam, mms, rpv, sme, smr, tel, tll

Código sql:
Ver original
  1. 16209216    77611111    19353    11940    0    0    0    0    0    11940    0
  2. 16209216    77611111    19353    5061    0    0    5061    0    0    0    0
  3. 16209216    77611111    19353    2352    0    0    0    2352    0    0    0
  4. 16209216    77622222    23719    6897    0    0    6897    0    0    0    0
  5. 16209216    77622222    23719    986    0    0    0    0    986    0    0
  6. 16209216    77622222    23719    15836    0    0    0    0    0    15836    0
  7. 16209216    77633333    11706    4452    0    0    0    4452    0    0    0
  8. 16209216    77633333    11706    6689    0    0    0    0    0    6689    0
  9. 16209216    77633333    11706    565    0    0    565    0    0    0    0

La idea seria esta:


Código sql:
Ver original
  1. 16209216    77611111    19353    11940    0    0    5061    2352    0    11940    0
  2. 16209216    77622222    23719    6897    0    0    6897    0    986    15836    0
  3. 16209216    77633333    11706    4452    0    0    565    4452    0    6689    0
Y muchas gracias y disculpa todas las molestiias ocacionadas GeoAvila
hace el select primario solo por factura y movil y luego hace los selects anidados para sacar cada una de las columnas.

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila