Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: diego_lp en 21 Febrero 2010, 04:06 am



Título: [SOLUCIONADO]ayuda con consulta sql
Publicado por: diego_lp en 21 Febrero 2010, 04:06 am
Hola a todos, necesito ayuda para armar una sentencia sql  :(
A ver si me logro explicar:
Tengo en mi base de datos 3 tablas: tabla1, tabla2, tabla3
En la tabla1 tengo 1 campo que es el id de la tabla2
Hasta aqui no hay problema, lo soluciono con un innerjoin.
Ahora bien, en la tabla2 tengo 2 campos mas que son id de la tabla3
Aqui es donde se me complica, puedo enlazar uno de los dos campos a la tabla3 a traves de otro inner join, pero cómo hago para enlazar el segundo campo con ésta misma tabla(tabla3)? :-\
Les paso la consulta que tengo:
Código:
SELECT  * FROM(tabla1) INNER JOIN tabla2 ON tabla1.id=tabla2.id_tabla1 INNER JOIN tabla3 ON tabla2.campo3=tabla3.id
pero esta consulta solo me develve los datos de la tabla1, los datos de la tabla2 que esta enlazada con la tabla1, y los datos de la tabla3 que esta enlazada con el campo3 de la taba2.
¿como le puedo agregar tambien los datos de la taba3 para el campo4 de la tabla2?
Espero que me hallan entendido y puedan ayudarme  :-[
Muchas gracias.
Saludos.


Título: Re: ayuda con consulta sql
Publicado por: ^Tifa^ en 21 Febrero 2010, 18:35 pm
Pues al final de tu consulta SQL agrega un AND datos, por ejemplo:

Código
  1. SELECT  * FROM(tabla1) INNER JOIN tabla2 ON tabla1.id=tabla2.id_tabla1 INNER JOIN tabla3 ON tabla2.campo3=tabla3.id AND tabla2.campo4 = tabla3.campo4
  2.  


Título: Re: ayuda con consulta sql
Publicado por: diego_lp en 22 Febrero 2010, 18:26 pm
Perfecto muchas gracias, solo que en lugar de AND  tube que usar OR porque el campo4 de la tabla2 puede estar vacío y su es asi con el and no me devuelve nada.
Muchas gracias.