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

ayuda con join 3 tablas

Estas en el tema de ayuda con join 3 tablas en el foro de Mysql en Foros del Web. hola amigos como ago para unir 3 tablas con join ? persona [per_codigo, per_nombres, per_email, per_telefono, per_email, per_dni] usuario [usu_codigo, usu_id, usu_clave, usu_tipo, "per_codigo"] tiempo ...
  #1 (permalink)  
Antiguo 12/03/2009, 12:53
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 4 meses
Puntos: 2
Pregunta ayuda con join 3 tablas

hola amigos como ago para unir 3 tablas con join ?

persona [per_codigo, per_nombres, per_email, per_telefono, per_email, per_dni]
usuario [usu_codigo, usu_id, usu_clave, usu_tipo, "per_codigo"]
tiempo [tie_codigo, tie_cantidad, tie_fecha, usu_codigo]

kiero unir las 3 tablas y q reporte nombres, apellidos de la tabla [persona], id de usuario de tabla [usuario], y cantidad y fecha de tabla [tiempo]
  #2 (permalink)  
Antiguo 12/03/2009, 13:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: ayuda con join 3 tablas

Prueba a ver si así:
SELECT p.per_nombres, p.per_apellidos, u.usu_id, t.tie_cantidad, t.tie_fecha FROM personas p INNER JOIN usuario u USING (per_codigo) INNER JOIN tiempo t USING (usu_codigo)
  #3 (permalink)  
Antiguo 12/03/2009, 13:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: ayuda con join 3 tablas

Perdón, respondí en lugar de editar.
  #4 (permalink)  
Antiguo 12/03/2009, 13:29
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 4 meses
Puntos: 2
Sonrisa Respuesta: ayuda con join 3 tablas

ahora lo pruebo amigo y te digo
  #5 (permalink)  
Antiguo 12/03/2009, 13:32
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: ayuda con join 3 tablas

amigo gracias, me funciono a la perfeccion

io lo ise de una forma distinta y mas conpleja y me creaba error

pero con tu metodo es mejor
gracias por todo
  #6 (permalink)  
Antiguo 12/03/2009, 13:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: ayuda con join 3 tablas

puedes usar USING(nombrecolumna) porque has puesto el mismo nombre en las tablas que cruzas; si no pones el mismo nombre de campo, deberás hacerlo así

SELECT p.per_nombres, p.per_apellidos, u.usu_id, t.tie_cantidad, t.tie_fecha FROM personas p INNER JOIN usuario u ON p.per_codigo= u.per_codigo INNER JOIN tiempo t u. usu_codigo=t.usu_codigo

Observarás que también funciona, y es el modo habitual de hacerlo cuando los nombres de los campos que se relacionan son distintos.
  #7 (permalink)  
Antiguo 12/03/2009, 13:40
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: ayuda con join 3 tablas

asi lo estaba asiendo pero me daba error.
ia me funciona perfectamente,

una pregunta mas, como puedo concatenar nombres + apellidos
para q salga por ejemplo : lalo rodriguez solano en una sola fila

lo ise asi : nombres + ' ' apellidos

pero sale "0"

gracias!
  #8 (permalink)  
Antiguo 12/03/2009, 13:46
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: ayuda con join 3 tablas

SELECT CONCAT (camponombre, ' ', campoapellidos) nombreapellidos FROM TABLA...
  #9 (permalink)  
Antiguo 12/03/2009, 13:49
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: ayuda con join 3 tablas

GRACIAS AMIGO ME SALIO PERFECTO :

SELECT u.usu_id, CONCAT (p.per_nombres, ' ', p.per_apellidos) as Nombres , t.tie_cantidad, t.tie_fecha
FROM persona p
INNER JOIN usuario u USING (per_codigo)
INNER JOIN tiempo t USING (usu_codigo)
where usu_codigo =5;
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 16:13.