Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

2 tablas JOIN

Estas en el tema de 2 tablas JOIN en el foro de Mysql en Foros del Web. Wenas,,, Estoy teniendo una dificultad al hacer un JOIN en una consulta. Tengo 2 tablas, en la primera "personas" tengo todas las personas en mi ...
  #1 (permalink)  
Antiguo 20/06/2012, 11:41
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
2 tablas JOIN

Wenas,,,

Estoy teniendo una dificultad al hacer un JOIN en una consulta.

Tengo 2 tablas, en la primera "personas" tengo todas las personas en mi base de datos.

En la segunda "titulos" tengo todos los títulos de las personas de la primera tabla con un ID en común para identificar que título le corresponde a cada persona

Por ejemplo:

Maganius posee título 1
título 2 y
título 3

Foo posee título 1 y
título 2

Algo simple básico.

Pero esta consulta tiene algo en particular que no me sirve el cual es:

Por cada título se me genera la misma persona cosa que quiero evitar, como puedo evitar que se me genere la persona tantas veces posea título?

Código PHP:
Ver original
  1. SELECT * FROM personas JOIN titulo ON personas.ID=titulo.ID;

Esto me genera:

Maganius - título 1
Maganius - título 2
Maganius - título 3

¿Como podría sacar el listado pero sin que se duplique la persona?
  #2 (permalink)  
Antiguo 20/06/2012, 12:19
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: 2 tablas JOIN

Hola Maganius:

No me queda claro qué es lo que quieres obtener como salida: Si quieres obtener algo como esto:

Código:
Maganius - título 1
         - título 2
         - título 3
Foo      - título 1
         - título 2
De una vez que digo que la consulta puede no resultar sencilla... esto generalmente se logra con programación, al momento de estar presentando el resultado en una página Web o en un programa.

Otra alternativa que igual te pudiera servir sería utilizar la función GROUP BY para obtener algo como esto:

Código:
Maganius - título 1,título 2,título 3
Es decir, obtener los títulos para una persona en un mismo campo, separado por comas (o por cualquier otro separador que elijas).

Dinos exactamente qué es lo que necesitas y por qué necesitas hacerlo con una consulta SQL.

Saludos
Leo.
  #3 (permalink)  
Antiguo 20/06/2012, 12:25
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: 2 tablas JOIN

Gracias por responder leonardo_josue.

Tienes razón me olvide de espificar que es para usar con PHP, esa consulta la uso como salida para mostrar datos en PHP.

Lo que necesito es que salga una vez solamente la persona y no que salga por cada título que posea ya que no quiero mostrar el título.

Esa consulta la estoy armando para luego poder armar un filtro y poder filtrar por X título.
  #4 (permalink)  
Antiguo 20/06/2012, 13:12
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: 2 tablas JOIN

Hola Maganius:

Tal como te comenté, la respuesta para lo que planteas suele hacerse con programación, pero te recuerdo que este es un foro de MySQL, y no está permitido colocar preguntas o dar respuestas a cuestiones relacionadas con cualquier lenguaje de programación. Te sugiero que publiques tu pregunta en el foro de PHP que existe, estoy seguro que ahí obtendrás una respuesta que te sirva.

http://www.forosdelweb.com/f18/

Saludos
Leo.
  #5 (permalink)  
Antiguo 20/06/2012, 13:16
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: 2 tablas JOIN

leonardo_josue un moderador cambio mi pregunta para este lugar, yo lo habia posteado en PHP.

probare con GROUP haber que tal

Etiquetas: join, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:05.