Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   Ayuda con JOIN de tablas... (http://www.forosdelweb.com/f21/ayuda-con-join-tablas-540790/)

Ugho 13/12/2007 15:14

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

seyko 13/12/2007 15:30

Re: Ayuda con JOIN de tablas...
 
Buenas,

JOIN e INNER JOIN es lo mismo :-P

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

Un saludo

Ugho 13/12/2007 16:06

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

seyko 13/12/2007 16:21

Re: Ayuda con JOIN de tablas...
 
Cita:

Iniciado por Ugho (Mensaje 2217214)
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

seyko 13/12/2007 16:23

Re: Ayuda con JOIN de tablas...
 
con un full join como el que muestras este registro

NULL | NULL | 50

creo que no saldria.

Salu2

Ugho 15/12/2007 21:54

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 15/12/2007 23:42

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

seyko 17/12/2007 04:53

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

Ugho 18/12/2007 07:42

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

seyko 18/12/2007 09:26

Re: Ayuda con JOIN de tablas...
 
No te preocupes Ugho!

Un saludo


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

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.