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

[SOLUCIONADO] ¿como capturar el campo en especifico donde la sentencia se relaciona con dos tablas?

Estas en el tema de ¿como capturar el campo en especifico donde la sentencia se relaciona con dos tablas? en el foro de Mysql en Foros del Web. Hola chicos/as espero me puedan ayuda. Les cuento.. Tengo un tipo muro con publicaciones de varios usuarios, y se puede dar compartir la publicacion de ...
  #1 (permalink)  
Antiguo 27/03/2014, 14:13
 
Fecha de Ingreso: diciembre-2013
Mensajes: 46
Antigüedad: 10 años, 4 meses
Puntos: 0
¿como capturar el campo en especifico donde la sentencia se relaciona con dos tablas?

Hola chicos/as
espero me puedan ayuda.

Les cuento..

Tengo un tipo muro con publicaciones de varios usuarios, y se puede dar compartir la publicacion de otros usuarios(estas comparticiones se veran en otra ventana). Cuando se comparte una publicacion(de otro usuario) lo que hace es insertar en la tabla compartidos el id_publicacion, usuario que lo compartio y fecha de comparticion.


Necesito capturar un campo en especifico. esta sentencia lo que hace es que me arroja todas la publicaciones que compartio de otras publicaciones de otros usuarios y me lo acomoda por fecha en que se compartio.

Código MySQL:
Ver original
  1. SELECT *  FROM publicaciones p JOIN compartidos c ON p.id_publicacion = c.id_publicacion
  2. WHERE c.usuario='$usuario' ORDER BY c.fecha DESC LIMIT 50

Cita:
Editado: Código de programacion no permitido en foros de BBDD.
Tengo dos tablas:

Tabla publicaciones.
-------------------
id_publicacion
publicacion
usuario
fecha


Tabla compartidos
----------------------
id_compartido
id_publicacion
usuario
fecha

ok mi pregunta talvez no sea tan complicada (espero) , quiero que me arroje el usuario que hizo la publicacion, y no el usuario que compartio, seria el campo p.usuario.
Asi:

Cita:
Editado: Código de programacion no permitido en foros de BBDD.
me arroja el usuario que le dio a compartir

Intente esto:

Cita:
Editado: Código de programacion no permitido en foros de BBDD.
pero no me salio :D
Como podría capturar el usuario de la publicacion?

Muchas gracias por leer!

PD. hace unos dias publique un tema con los mismas tablas pero es totalmente diferente esta pregunta a la otra, para que no la borren :)

Última edición por gnzsoloyo; 27/03/2014 a las 14:28
  #2 (permalink)  
Antiguo 27/03/2014, 14:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿como capturar el campo en especifico donde la sentencia se relaciona con

Tal ves por aquí:
Código SQL:
Ver original
  1. SELECT DISTINCT p.id_publicacion, p.usuario
  2. FROM publicaciones p JOIN compartidos c ON p.id_publicacion = c.id_publicacion
  3. WHERE c.usuario='$usuario'
  4. ORDER BY c.fecha DESC
  5. LIMIT 50
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/03/2014, 15:03
 
Fecha de Ingreso: diciembre-2013
Mensajes: 46
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: ¿como capturar el campo en especifico donde la sentencia se relaciona con

Gracias gnzsoloyo, me funciono muy bien :D
pero me surgio una duda, como le puedo hacer para que me agarre el p.usuario y tambien el c.usuario?

supongo que es agregandole el c.usuario en el SELECT asi:
Código SQL:
Ver original
  1. SELECT DISTINCT p.id_publicacion, p.usuario, c.usuario
  2. FROM publicaciones p JOIN compartidos c ON p.id_publicacion = c.id_publicacion
  3. WHERE c.usuario='$usuario'
  4. ORDER BY c.fecha DESC
  5. LIMIT 50


Pero como se recogería esos datos?
tiene que ver de aqui no?
Cita:
Editado: Código de programacion no permitido en foros de BBDD.
En verdad muchas gracias gnzsoloyo.
Un saludo!

Última edición por gnzsoloyo; 27/03/2014 a las 17:51
  #4 (permalink)  
Antiguo 27/03/2014, 17:47
Avatar de andresgarciadev  
Fecha de Ingreso: junio-2013
Mensajes: 218
Antigüedad: 10 años, 10 meses
Puntos: 32
Respuesta: ¿como capturar el campo en especifico donde la sentencia se relaciona con

pues agregale un alias
Código MySQL:
Ver original
  1. SELECT DISTINCT p.id_publicacion, p.usuario , c.usuario as compartio
  2.     FROM publicaciones p JOIN compartidos c ON p.id_publicacion = c.id_publicacion
  3.     WHERE c.usuario='$usuario'
  4.     ORDER BY c.fecha DESC
  5.     LIMIT 50

asi solo lo llamarias con
Cita:
Editado: Código de programacion no permitido en foros de BBDD.
  #5 (permalink)  
Antiguo 27/03/2014, 17:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿como capturar el campo en especifico donde la sentencia se relaciona con

Por favor, lean las normas del foro: Nada de lenguajes de programación.

Para los temas de PHP, está el Foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 28/03/2014, 22:38
 
Fecha de Ingreso: diciembre-2013
Mensajes: 46
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: ¿como capturar el campo en especifico donde la sentencia se relaciona con

andresgarciadev muchas gracias por tu respuesta si me funciono :)
gnzsoloyo muchas gracias!

Etiquetas: campo, especifico, join, select, sentencia, sql, tabla, usuarios
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




La zona horaria es GMT -6. Ahora son las 02:39.