Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/02/2017, 16:14
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Sumatoria de un valor

Hola nitsuga1986:

Cita:
He intentado hacer lo que me comentas pero no termina de funcionar bien. te explico, en verdad hay más de una relación entre tablas, ya que tengo:
- Campañas
- Clientes
- Horas
- Equipo

Por tanto habría mas de un INNER JOIN entiendo, no?
Si estoy en lo correcto estamos entonces hablando de cuatro tablas, si es así entonces es correcto que haya más de un JOIN, ahora bien, el INNER JOIN tiene una relación incluyente, ¿qué quiere decir esto? que debe existir al menos un registro en ambas tablas para que se haga la relación.

Cita:
El caso es que he puesto lo que me comentas y de 180 campañas solo me esta sacando un resultado de 32. ¿a que puede ser debido?
Esto es justamente por lo que te comento, si hay 180 campañas entonces debe haber al menos un registro en cada una de las tablas para que aparezcan en la relación.

supongamos el siguiente ejemplo a modo de ejemplo:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla1;
  2. +----+-------------+
  3. | id | descripcion |
  4. +----+-------------+
  5. |   1| uno         |
  6. +----+-------------+
  7. |   2| dos         |
  8. +----+-------------+
  9. |   3| tres        |
  10. +----+-------------+
  11. 3 rows in set (0.00 sec)
  12.  
  13. mysql> SELECT * FROM tabla2;
  14. +----+-------------+
  15. | id | descripcion |
  16. +----+-------------+
  17. |   1| one         |
  18. +----+-------------+
  19. |   3| three       |
  20. +----+-------------+
  21. 3 rows in set (0.00 sec)

Si utilizas un INNER JOIN, el id = 2 de la tabla1 NO APARECERÁ EN EL LISTADO, debido a que no existe en la tabla2. para estos casos puedes utilziar un LEFT o un RIGTH JOIN.

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla1;
  2.     -> INNER JOIN tabla2 On tabla1.id = tabla2.id
  3. +----+-------------+----+-------------+
  4. | id | descripcion | id | descripcion |
  5. +----+-------------+----+-------------+
  6. |   1| uno         |   1| one         |
  7. +----+-------------+----+-------------+
  8. |   3| tres        |   3| three       |
  9. +----+-------------+----+-------------+
  10. 2 rows in set (0.00 sec)
  11.  
  12. mysql> SELECT * FROM tabla1;
  13.     -> LEFT JOIN tabla2 On tabla1.id = tabla2.id
  14. +----+-------------+----+-------------+
  15. | id | descripcion | id | descripcion |
  16. +----+-------------+----+-------------+
  17. |   1| uno         |   1| one         |
  18. +----+-------------+----+-------------+
  19. |   2| dos         |null| null        |
  20. +----+-------------+----+-------------+
  21. |   3| tres        |   3| three       |
  22. +----+-------------+----+-------------+
  23. 3 rows in set (0.00 sec)

Saludos
Leo