elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  [Pregunta]: INNER JOIN de dos campos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: INNER JOIN de dos campos  (Leído 2,028 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Pregunta]: INNER JOIN de dos campos
« en: 20 Septiembre 2019, 20:54 pm »

Hace una o dos semanas no me acuerdo bien había preguntado sobre como podía "entrelazar datos" dentro de una consulta (nunca me acuerdo como se llama esto así que digamos.. "entrelazar")

Código
  1. "S*ELECT U.id_user, U.name, C.id_user FROM users U INNER JOIN comments C ON U.id_user = C.id_user WHERE (etcétera)"
  2.  

Hay lo estoy haciendo con un sólo dato un (ID de usuario en este caso esa id será el ID del autor del comentario)
Pero en casos donde requiero dos o más datos había preguntado y me dijeron que poniendo un AND serviría (Lo cual creo que sirvió porque no me arrojo más errores)

Código
  1. "S*ELECT U.id_user, U.name, C.id_user, C.id_adm FROM users U INNER JOIN comments C ON U.id_user = C.id_user AND U.id_user = C.id_adm WHERE (etcétera)"
  2.  

La pregunta sería como accedo a los diferentes datos es decir...

Código
  1. $datos = la_consulta;
  2.  
  3. if(!empty($datos))
  4. {
  5.      foreach($datos as $datos_foreach)
  6.     {
  7.           echo 'Nombre del usuario = '.$datos_foreach['name'];
  8.           echo 'Nombre del admin = '.$datos_foreach['name'];
  9.           // Imagino que me devolverá el mismo valor para cada echo y no debería ser así ya que el id_adm tiene un id totalmente diferente a el id_user
  10.     }
  11. }
  12.  

No hace falta que intenten encontrar la lógica a esto de por que utilizo un id_adm en un ejemplo de comentarios o cosas de ese tipo ya que todo el código sólo sirve de ejemplo y para poder meterlos en contexto. Gracias.



Mod: Temas sobre Bases de Datos van al subforo de Bases de Datos.


« Última modificación: 24 Septiembre 2019, 10:59 am por #!drvy » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Pregunta]: INNER JOIN de dos campos
« Respuesta #1 en: 20 Septiembre 2019, 21:01 pm »

intentaste ejecutar el query antes?

pudes perfectamente ejecutar el query obtener los datos y usar printr o var_dump para ver el contenido... pero de antemano te digo

Citar
U.id_user, U.name, C.id_user, C.id_adm

tienes 2 veces el mismo identificador, mysql te dirá que es una consulta ambigua... ya que es imposible retornar 2 resultados con el mismo nombre (por las razones que ya notaste) en ese caso tendrás que hacer algo como

Citar
U.id_user AS UUser, U.name, C.id_user AS Cuser, C.id_adm


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: INNER JOIN de dos campos
« Respuesta #2 en: 20 Septiembre 2019, 21:23 pm »

intentaste ejecutar el query antes?

pudes perfectamente ejecutar el query obtener los datos y usar printr o var_dump para ver el contenido... pero de antemano te digo

tienes 2 veces el mismo identificador, mysql te dirá que es una consulta ambigua... ya que es imposible retornar 2 resultados con el mismo nombre (por las razones que ya notaste) en ese caso tendrás que hacer algo como


No creo haber entendido, es decir si decís por que los dos identificadores son "id_user" para eso use los alias tanto U. como C.

En otras consultas donde uso estos alias funciona correctamente la consulta. (aunque no se si te referías a eso)




Como sería para acceder a los diferentes datos, algo como..?
resultados[0] ['name'] y resultados[1] ['name']



Mod: Prohibido hacer doble post. Usar el botón "Modificar".
« Última modificación: 24 Septiembre 2019, 10:57 am por #!drvy » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Pregunta]: INNER JOIN de dos campos
« Respuesta #3 en: 21 Septiembre 2019, 03:15 am »

has un var_dump... experimenta y ve el resultado por ti mismo! XD
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: INNER JOIN de dos campos
« Respuesta #4 en: 21 Septiembre 2019, 03:56 am »

has un var_dump... experimenta y ve el resultado por ti mismo! XD

Okay voy a ver gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
sql join
Bases de Datos
diego_lp 1 2,984 Último mensaje 15 Octubre 2011, 02:51 am
por fran800m
Pregunta existencial con INNER JOIN
PHP
dimitrix 1 2,016 Último mensaje 19 Febrero 2012, 23:12 pm
por Shell Root
Inner Join en dos campos
Bases de Datos
Slikp 0 1,919 Último mensaje 12 Enero 2015, 17:53 pm
por Slikp
[Pregunta]: Usar 2 veces "INNER JOIN" en una consulta
Desarrollo Web
Leguim 1 1,857 Último mensaje 3 Abril 2019, 14:00 pm
por EdePC
[Problema]: Consulta SQL INNER JOIN 2 campos
Bases de Datos
Leguim 7 2,586 Último mensaje 19 Octubre 2019, 00:33 am
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines