Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Bases de Datos => Mensaje iniciado por: Leguim en 20 Octubre 2021, 06:34 AM

Título: [Pregunta]: ¿Cómo puedo hacer un INNER JOIN bajo una condicional?
Publicado por: Leguim en 20 Octubre 2021, 06:34 AM
Hola,

tengo un campo "id_admin" (tabla x) que está referenciado con un campo "id_usuario" (tabla de usuarios)

Pero id_admin admite dos tipos de valores, podría tener el valor NULL o el valor de id_usuario, entonces tengo la siguiente consulta:
Código (php) [Seleccionar]

SELECT X.campo_1, X.id_admin, X.campo_3, U.id_usuario, U.nombre, U.avatar FROM tabla_x X INNER JOIN usuarios U ON X.id_admin = U.id_usuario;


Justo en donde dice ON X.id_admin = U.id_usuario yo quería saber si hay forma de que haga esa referencia INNER JOIN si y sólo si el id_admin is not null.
Título: Re: [Pregunta]: ¿Cómo puedo hacer un INNER JOIN bajo una condicional?
Publicado por: DtxdF en 20 Octubre 2021, 14:39 PM
@Leguim

La cuestión está en que no deberían mostrarse los NULLs, ya que no coinciden, al menos en un INNER JOIN, lo cual, realizando lo contrario a lo que mencionas, sí puede pasar con un LEFT JOIN o RIGHT JOIN. En suma, tal parece que está bien. También podrías indagar sobre IS NULL, IS NOT NULL, porque quizá te sean de utilidad.

~ DtxdF
Título: Re: [Pregunta]: ¿Cómo puedo hacer un INNER JOIN bajo una condicional?
Publicado por: Leguim en 20 Octubre 2021, 20:16 PM
Hola!

Probé con LEFT JOIN y parece que todo andaría correcto, pero para mi caso sería el LEFT JOIN o el RIGHT JOIN..? o sería básicamente lo mismo? (que no creo, debería haber una diferencia)