Hola beto13:
Mucho Ojo... tal como comenta gnzsoloyo, el problema es que entre tus tablas hay una relación m a n, por lo tanto puede dar la impresión de que existe información duplicada, pero eso no es asi... no nos dices cómo es la estructura de tus tablas, ni nos pones datos de ejemplos, pero creo que tienes algo como esto:
Código MySQL:
Ver original+-----------------+-------------------+
| idPlanificacion | descripcion |
+-----------------+-------------------+
| 1 | planificacion uno |
| 2 | planificacion dos |
+-----------------+-------------------+
+------------+-----------------+--------------+
| idObjetivo | idPlanificacion | descripcion |
+------------+-----------------+--------------+
| 1 | 1 | objetivo 1.1 |
| 2 | 2 | objetivo 2.1 |
| 3 | 2 | objetivo 2.2 |
+------------+-----------------+--------------+
+----------+-----------------+-------------+
| idAccion | idPlanificacion | descripcion |
+----------+-----------------+-------------+
| 1 | 1 | accion 1.1 |
| 2 | 2 | accion 2.1 |
| 3 | 2 | accion 2.2 |
+----------+-----------------+-------------+
es decir, dos planificaciones, la primera con 1 objetivo y una accion y la segunda con dos objetivos y dos acciones... si haces una consulta como la que planeas obtienes esto:
Código MySQL:
Ver original -> ON objetivos.idPlanificacion
= planificacion.idPlanificacion
-> ON acciones.idPlanificacion
= planificacion.idPlanificacion
; +-----------------+-------------------+------------+-----------------+--------------+----------+-----------------+-------------+
| idPlanificacion | descripcion | idObjetivo | idPlanificacion | descripcion | idAccion | idPlanificacion | descripcion |
+-----------------+-------------------+------------+-----------------+--------------+----------+-----------------+-------------+
| 1 | planificacion uno | 1 | 1 | objetivo1.1 | 1 | 1 | accion 1.1 |
| 2 | planificacion dos | 2 | 2 | objetivo2.1 | 2 | 2 | accion 2.1 |
| 2 | planificacion dos | 3 | 2 | objetivo2.2 | 2 | 2 | accion 2.1 |
| 2 | planificacion dos | 2 | 2 | objetivo2.1 | 3 | 2 | accion 2.2 |
| 2 | planificacion dos | 3 | 2 | objetivo2.2 | 3 | 2 | accion 2.2 |
+-----------------+-------------------+------------+-----------------+--------------+----------+-----------------+-------------+
entonces podrías pensar que hay registros duplicados, porque aparecen cuatro registros para la planificación dos...
Esto sin embargo no es correcto, el problema insisto es que tienes una relación M a N. No nos dices en realidad qué esperas obtener como salida, pero aquí va una posible solución... Puedes "consolidar" tus tablas, de tal manera que en lugar de tener una relación 1 a N entre planificaciones-objetivos y planificaciones-acciones, cambie a una relación 1 a 1, por ejemplo con la función GROUP-CONCAT...
Código MySQL:
Ver original+-----------------+---------------------------+
| idPlanificacion | descripcion |
+-----------------+---------------------------+
| 1 | objetivo 1.1 |
| 2 | objetivo 2.1,objetivo 2.2 |
+-----------------+---------------------------+
Observa que sólo se muestra un registro para el idPlanifiación2, pero que en el campo descripción se muestran las dos descripciones separadas por comas... de esta manera podrías hacer algo como esto:
Código MySQL:
Ver originalmysql
> SELECT P.
*, O.descripcion objetivos
, A.descripcion acciones
-> ON O.idPlanificacion
= P.idPlanificacion
-> ON A.idPlanificacion
= P.idPlanificacion
; +-----------------+-------------------+---------------------------+-----------------------+
| idPlanificacion | descripcion | objetivos | acciones |
+-----------------+-------------------+---------------------------+-----------------------+
| 1 | planificacion uno | objetivo 1.1 | accion 1.1 |
| 2 | planificacion dos | objetivo 2.1,objetivo 2.2 | accion 2.1,accion 2.2 |
+-----------------+-------------------+---------------------------+-----------------------+
De tal manera que ya no hay información repetida...
podrías cambiar los INNER JOIN's por LEFT JOIN's, por si hubiera el caso de planificaciones sin objetivos o sin acciones.
No sé si esto te pueda servir, si continuas con problemas postea algunos datos de ejemplo de tus tablas y dinos qué es lo que esperas como salida.
Saludos
Leo.