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

Ayuda con JOIN de tablas...

Estas en el tema de Ayuda con JOIN de tablas... en el foro de Bases de Datos General en Foros del Web. Estimados: parece simple pero no me resulta... tengo 3 tablas usu_id | usu_nombre --------------------- 10 | juan 20 | pedro 30 | luis 40 | ...
  #1 (permalink)  
Antiguo 13/12/2007, 15:14
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 21 años, 5 meses
Puntos: 0
Ayuda con JOIN de tablas...

Estimados:
parece simple pero no me resulta...
tengo 3 tablas

usu_id | usu_nombre
---------------------
10 | juan
20 | pedro
30 | luis
40 | jose
50 | hugo
60 | julio
70 | alvaro


auto_usuario
auto_id | usu_id
--------------------
YE-10 | 10
MI-10 | 20
LE-10 | 30
HU-10 | 50

casa_usuario
casa_id | usu_id
------------------
1000 | 10
2000 | 20
3000 | 70

pero necesito la union de las tablas casa_usuario y auto_usuario y que me de el siguiente resultado

tabla_resultado
auto_id | casa_id | usuario_id
--------------------------------------
YE-10 | 1000 | 10
MI-10 | 2000 | 20
LE-10 | NULL | 30
NULL | NULL | 50
HU-10 | 3000 | 70

EL JOIN o INNER JOIN me da el mismo resultado...solo busca lo que es comun en ambas tablas...como lo puedo hacer????
Espero que nadie se haya dado cuenta que soy primerizo en JOIN...
Saludos
__________________
________________________________________

Ugho.
  #2 (permalink)  
Antiguo 13/12/2007, 15:30
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: Ayuda con JOIN de tablas...

Buenas,

JOIN e INNER JOIN es lo mismo

Necesitas utilizar LEFT JOIN.
select ....
from usuarios
left join auto_usuario on ...
left join casa_usuario on...

Un saludo
  #3 (permalink)  
Antiguo 13/12/2007, 16:06
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Ayuda con JOIN de tablas...

Hola Amigo Seyko:
lo que necesitaba es el FULL JOIN...
ya que necesitaba lo que es similar en ambos + lo que esta no esta en ambas tablas...
SELECT * FROM casa_usuario casa FULL JOIN auto_usuario auto ON (casa.usuario_id=auto.usuario_id)
Gracias de todas formas ...
Saludos
__________________
________________________________________

Ugho.
  #4 (permalink)  
Antiguo 13/12/2007, 16:21
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: Ayuda con JOIN de tablas...

Cita:
Iniciado por Ugho Ver Mensaje
Hola Amigo Seyko:
lo que necesitaba es el FULL JOIN...
ya que necesitaba lo que es similar en ambos + lo que esta no esta en ambas tablas...
SELECT * FROM casa_usuario casa FULL JOIN auto_usuario auto ON (casa.usuario_id=auto.usuario_id)
Gracias de todas formas ...
Saludos
Como que de todas formas?
La select que te he dado te da el resultado que quieres!
Al menos lo has probado???

Salu2
  #5 (permalink)  
Antiguo 13/12/2007, 16:23
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: Ayuda con JOIN de tablas...

con un full join como el que muestras este registro

NULL | NULL | 50

creo que no saldria.

Salu2

Última edición por seyko; 13/12/2007 a las 16:45
  #6 (permalink)  
Antiguo 15/12/2007, 21:54
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Ayuda con JOIN de tablas...

Estimado amigo:
disculpa mi ignorancia pero he probado tu script y tu codigo me devuelve toda la tabla de usuarios (tengan o no tenga casas o autos)...y yo necesito el filtro de aquellos usuarios que tengan autos y/o casas...
Con mi script
-------------------------
SELECT auto_id,casa_id,auto.usuario_id FROM casa_usuario casa FULL JOIN auto_usuario auto ON (casa.usuario_id=auto.usuario_id)
-------------------------
este es el resultado
auto_id | casa_id | usuario_id
YE-10 | 1000 | 10
MI-10 | 2000 | 20
LE-10 | NULL | 30
HU-10 | NULL | 50
NULL | 3000 | NULL

--------------------------
osea FULL JOIN no me sirve para lo que necesito....

Espero me ayudes...
Saludos
__________________
________________________________________

Ugho.

Última edición por Ugho; 15/12/2007 a las 22:51
  #7 (permalink)  
Antiguo 15/12/2007, 23:42
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Ayuda con JOIN de tablas...

Finalmente lo resolvi de esta manera...

SELECT auto_id,casa_id,(case when auto.usuario_id is null then casa.usuario_id else auto.usuario_id end) as usuario_id FROM casa_usuario casa FULL JOIN auto_usuario auto ON (casa.usuario_id=auto.usuario_id)
tabla_resultado
auto_id | casa_id | usuario_id
--------------------------------------
YE-10 | 1000 | 10
MI-10 | 2000 | 20
LE-10 | NULL | 30
NULL | NULL | 50
HU-10 | 3000 | 70

Saludos
__________________
________________________________________

Ugho.
  #8 (permalink)  
Antiguo 17/12/2007, 04:53
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: Ayuda con JOIN de tablas...

NULL | NULL | 50

Con un full join como el que haces este resultado no puede salir nunca jamas!
No estarás poniendo mal el resultado?

Un saludo
  #9 (permalink)  
Antiguo 18/12/2007, 07:42
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Ayuda con JOIN de tablas...

Toda la razón amigo Seyko:
mil disculpas por no saber explicarme y hacerte perder el tiempo...
el resultao esperado es el siguiente..

auto_id | casa_id | usuario_id
--------------------------------------
YE-10 | 1000 | 10
MI-10 | 2000 | 20
LE-10 | NULL | 30
HU-10 | NULL | 50
NULL| 3000 | 70

Agradezco toda tu buena voluntad para compartir tu conocimiento...
Y de ahora en adelante seré muy cuidadoso en preguntar bien...
Saludos
__________________
________________________________________

Ugho.
  #10 (permalink)  
Antiguo 18/12/2007, 09:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: Ayuda con JOIN de tablas...

No te preocupes Ugho!

Un saludo
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:33.