Ver Mensaje Individual
  #24 (permalink)  
Antiguo 13/05/2009, 10:56
Avatar de TonyChile
TonyChile
 
Fecha de Ingreso: marzo-2009
Ubicación: Maipú, Santiago
Mensajes: 422
Antigüedad: 15 años, 9 meses
Puntos: 7
Respuesta: Separar y sumar datos de una misma columna

Cita:
Iniciado por GeoAvila Ver Mensaje
en esta parte así sería el isnull, te devolvería un valor 0 para no se vea feo jeje.

Código sql:
Ver original
  1. Isnull((SELECT     SUM(valor + sobrecargo)
  2.   FROM          trafico
  3.   WHERE      factura = a.factura AND movil = a.movil),0) AS TOTAL


de nada y nos vemos..

Entonces queda asi


Código sql:
Ver original
  1. SELECT     FACTURA, MOVIL, ISNULL
  2.   ((SELECT     SUM(valor + sobrecargo)
  3.   FROM         trafico
  4.   WHERE     factura = a.factura AND movil = a.movil), 0) AS TOTAL, ISNULL
  5.    ((SELECT     SUM(valor + sobrecargo)
  6.    FROM         trafico
  7.    WHERE     factura = a.factura AND movil = a.movil AND SERVICIO = 'BAM'), 0) AS BAM, ISNULL
  8.    ((SELECT     SUM(valor + sobrecargo)
  9.    FROM         trafico
  10.   WHERE     factura = a.factura AND movil = a.movil AND SERVICIO = 'MMS'), 0) AS MMS, ISNULL
  11.   ((SELECT     SUM(valor + sobrecargo)
  12.    FROM         trafico
  13.    WHERE     factura = a.factura AND movil = a.movil AND SERVICIO = 'RPV'), 0) AS RPV, ISNULL
  14.    ((SELECT     SUM(valor + sobrecargo)
  15.    FROM         trafico
  16.     WHERE     factura = a.factura AND movil = a.movil AND SERVICIO = 'SME'), 0) AS SME, ISNULL
  17.     ((SELECT     SUM(valor + sobrecargo)
  18.     FROM         trafico
  19.     WHERE     factura = a.factura AND movil = a.movil AND SERVICIO = 'SMR'), 0) AS SMR, ISNULL
  20.     ((SELECT     SUM(valor + sobrecargo)
  21.      FROM         trafico
  22.     WHERE     factura = a.factura AND movil = a.movil AND SERVICIO = 'TEL'), 0) AS TEL, ISNULL
  23.     ((SELECT     SUM(valor + sobrecargo)
  24.      FROM         trafico
  25.      WHERE     factura = a.factura AND movil = a.movil AND SERVICIO = 'TLL'), 0) AS TLL
  26. FROM         TRAFICO a
  27. WHERE     (FACTURA = '16209216')
  28. GROUP BY FACTURA, MOVIL
  29. ORDER BY FACTURA, MOVIL

y el resultado asi:

Código sql:
Ver original
  1. 16209216    77611111    29934   0   0   2816    5228    761 21129   0
  2. 16209216    77622222    8036    0   0   3453    0   0   4583    0
  3. 16209216    77633333    15007   0   0   1348    0   0   13659   0
  4. 16209216    77644444    0   0   0   0   0   0   0   0
  5. 16209216    77655555    5728    0   0   1618    84  0   4026    0
  6. 16209216    77666666    6095    0   0   370 0   0   5725    0

Nada mas que decir te las mandaste GeoAvila

Por tu culpa me voy a tener que comprar un diccionario. Me has dejado sin palabras.
__________________
Chilenos 100% Chilenos de Corazón
"Nuestra mayor gloria no está en no caer jamás, sino en levantarnos cada vez que caigamos"