Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/12/2018, 16:07
rastafinis
 
Fecha de Ingreso: mayo-2006
Mensajes: 86
Antigüedad: 17 años, 10 meses
Puntos: 0
resultados duplicados en inner join

Saludos comunidad,
tengo 14 tablas que debo relacionar por inner join,

pero ya con las tres primeras tengo un dolor de cabeza terrorifico.

la estrutura de las tablas son mas o menos asi.

tabla1 (tiene por ejemplo nombre de personajes su cable id primaria auto incremental, hay mas personajes pero para efectos de la consulta se iso solo con uno)
Código:
------------------------------
id |campo_a| campo_b       |
------------------------------
0  |jack      |el destripador |
------------------------------
tabla2 (tiene caracteristicas del personaje de la tabla 1 segun su id, es una llave fornea y tiene un index, tambien hay similares descripciones para otros personajes)
Código:
----------------------
id |campo_c           |
----------------------
0  |criminal           |
----------------------
0  |descuartizador  |
----------------------
0  |peligroso          |
----------------------
tabla3 (tiene el id de los luhgares donde este personaje iso de las suyas, ¿debo redundar?)
Código:
-------------------------------
id |            campo_d          |
-------------------------------
0  |la calle Osborn             |
-------------------------------
0  |edificio de George Yard |
-------------------------------
0  |la calle Hanbury           |
-------------------------------
0  |Buck's Row                  |
-------------------------------

al realizar el join me arroja estos resultados.

Código:
SELECT 
	A.id, 
	A.campo_a, 
	A.campo_b, 
	B.campo_c, 
	C.campo_d, 
	FROM tabla1 A
	INNER JOIN tabla2 B ON B.id = A.id
	INNER JOIN tabla3 C ON C.id = A.id
Código:
-----------------------------------------------------------------------------------------------
id |campo_a|    campo_b       |         campo_c           |                campo_d              |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |          criminal            |             la calle Osborn         |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |          criminal            |      edificio de George Yard    |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |          criminal            |          la calle Hanbury          |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |          criminal            |              Buck's Row             |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |      descuartizador      |             la calle Osborn         |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |      descuartizador      |      edificio de George Yard    |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |      descuartizador      |          la calle Hanbury          |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |      descuartizador      |              Buck's Row             |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |            peligroso        |             la calle Osborn         |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |            peligroso        |      edificio de George Yard    |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |            peligroso        |          la calle Hanbury          |
-----------------------------------------------------------------------------------------------
0  |    jack   |   el destripador |            peligroso        |              Buck's Row             |
-----------------------------------------------------------------------------------------------

es notable que se esta multiplicando los registros y seran muchos ya que faltan 11 tablas mas.

pregunta:
como hago para que no se repitan los resultados.

PD. he pensado en realizar las consultas en php segun el id de la tabla1, sin envargo son minimo 14 consultas adicionales por cada id, aduciendo que en tabla 1 aya 5000 personajes cada cual con sus caracteristica, lugares y demas es una exorvitante suma de 70000 consultas, y la verdad no me parece saludable para mi pobre mysql.
ya de por si 14 consultas o 45 consultas ya me parece demaciado.

saludos y porfavor ayudenme con este predicamento.
que me trae un poco desorvitado.