Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/12/2011, 11:50
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: Referencias Cruzadas

Hola de nuevo:

Tal como comenta gnzsoloyo, la consulta que quieres hacer la puedes obtener con SUM() y con IF's, pero sería conveniente que nos pongas la estructura completa de tus tablas para poder ayudarte a plantear la consulta. la idea sería más o menos así, supongamos que tienes una tabla con los siguientes datos:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +------+------------+----------+-----------+
  3. | id   | fecha      | servicio | velocidad |
  4. +------+------------+----------+-----------+
  5. |    1 | 2011-12-12 | internet |      1000 |
  6. |    2 | 2011-12-12 | internet |      2000 |
  7. |    3 | 2011-12-11 | internet |      2000 |
  8. |    4 | 2011-12-10 | internet |      1000 |
  9. |    5 | 2011-12-09 | otro     |      2000 |
  10. |    6 | 2011-12-10 | internet |      2000 |
  11. |    7 | 2011-12-11 | otro     |      2000 |
  12. |    8 | 2011-12-09 | internet |      2000 |
  13. |    9 | 2011-12-09 | otro     |      2000 |
  14. |   10 | 2011-12-09 | internet |      2000 |
  15. +------+------------+----------+-----------+
  16. 10 rows in set (0.00 sec)

utilizando entonces SUM() e IF() podrías hacer algo como esto.

Código MySQL:
Ver original
  1. mysql> SELECT
  2.     -> servicio, velocidad,
  3.     -> SUM(IF (fecha = CURDATE(), 1, 0)) hoy,
  4.     -> SUM(IF (fecha = DATE_SUB(CURDATE(), INTERVAL 1 DAY), 1, 0)) ayer,
  5.     -> SUM(IF (fecha = DATE_SUB(CURDATE(), INTERVAL 2 DAY), 1, 0)) antier,
  6.     -> SUM(IF (fecha = DATE_SUB(CURDATE(), INTERVAL 3 DAY), 1, 0)) hace_3_dias
  7.     -> FROM tabla T1
  8.     -> GROUP BY servicio, velocidad;
  9. +----------+-----------+------+------+--------+-------------+
  10. | servicio | velocidad | hoy  | ayer | antier | hace_3_dias |
  11. +----------+-----------+------+------+--------+-------------+
  12. | internet |      1000 |    1 |    0 |      1 |           0 |
  13. | internet |      2000 |    1 |    1 |      1 |           2 |
  14. | otro     |      2000 |    0 |    1 |      0 |           2 |
  15. +----------+-----------+------+------+--------+-------------+
  16. 3 rows in set (0.01 sec)

Creo que esto es más o menos lo que quieres hacer... haz el intento para ver si puedes obtener una consulta similar y si continuas con problemas nos comentas.

Saludos
Leo.