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

inner join

Estas en el tema de inner join en el foro de Bases de Datos General en Foros del Web. Hola necesito ayuda para hacer consulta a dos tabla con inner join, la verdad nose como se hace. tablas: favoritos :campos( id, id_post, user, fecha ...
  #1 (permalink)  
Antiguo 25/01/2010, 20:29
 
Fecha de Ingreso: enero-2009
Mensajes: 77
Antigüedad: 15 años, 4 meses
Puntos: 0
inner join

Hola necesito ayuda para hacer consulta a dos tabla con inner join, la verdad nose como se hace.
tablas:
favoritos :campos( id, id_post, user, fecha )
post: campos (id, rollo, titulo, autor, fecha, cat, p)

Necetito tomar esos datos de las dos tablas
  #2 (permalink)  
Antiguo 25/01/2010, 20:40
Avatar de Vitesse92  
Fecha de Ingreso: diciembre-2009
Ubicación: Internet
Mensajes: 145
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: inner join

O.o' eso va en la parte del foro dedicada a BASES DE DATOS, aqui php...gracias, y vuelva pronto, un placer.
  #3 (permalink)  
Antiguo 26/01/2010, 10:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a Bases de Datos
  #4 (permalink)  
Antiguo 26/01/2010, 11:37
 
Fecha de Ingreso: abril-2007
Mensajes: 114
Antigüedad: 17 años
Puntos: 2
Respuesta: inner join

Sería algo así:

Código MySQL:
Ver original
  1. SELECT favoritos.id as favoritos_id, favoritos.user,
  2. favoritos.fecha as fecha_favoritos, post.id as post_id, post.rollo, post.titulo,
  3. post.autor, post.fecha as fecha_post, post.cat, post.p
  4. FROM favoritos INNER JOIN post ON favoritos.id_post=post.id

Fíjate que le he asignado a los campos id y fecha de cada tabla un alias (favoritos_id, post_id, fecha_favoritos y fecha_post) para que no coincidiera el nombre de los campos.

El mecanismo es sencillo. Escribimos "SELECT" seguido de la lista de campos (tabla + "." + nombre de campo) separados por comas (","). A continuación escribimos "FROM" seguido del nombre de una de las tablas más "INNER JOIN" seguido del nombre de la otra tabla, "ON" y la condición que las relaciona, en este caso "favoritos.id_post=post.id".

Espero habértelo aclarado. Un saludo
  #5 (permalink)  
Antiguo 27/01/2010, 14:22
 
Fecha de Ingreso: enero-2010
Mensajes: 44
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: inner join

Hola!

Ando con una duda, espero puedan ayudarme.

Tengo esta consulta:

Código MySQL:
Ver original
  1. students.id,
  2. profile.nombres,
  3. profile.matricula,
  4. profile.apellidos,
  5. profile.cumpleanos,
  6. profile.nacionalidad,
  7. profile.escolaridad,
  8. profile.calle,
  9. profile.numero,
  10. profile.colonia,
  11. profile.cp,
  12. profile.ciudad,
  13. profile.estado,
  14. profile.telefono,
  15. profile.movil,
  16. profile.email,
  17. profile.emergencia,
  18. profile.parentesco,
  19. profile.emergencia_tel,
  20. profile.emergencia_movil,
  21. profile.tipo_sangre,
  22. profile.enfermedad,
  23. profile.alergias
  24. jos_mc_students
  25. Left Join jos_mc_profile ON jos_mc_students.id = jos_mc_profile.id
  26. jos_mc_profile.nombres

Quise simplificar el código e intente con esto pero no funciono:

Código MySQL:
Ver original
  1. students.id, profile.*

Existe alguna manera?


De antemano muchas gracias.
Saludos.

Última edición por carlosalas; 27/01/2010 a las 14:36
  #6 (permalink)  
Antiguo 27/01/2010, 14:25
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: inner join

Eh.. te sobra una coma despues de profile.* (?)
  #7 (permalink)  
Antiguo 27/01/2010, 14:36
 
Fecha de Ingreso: enero-2010
Mensajes: 44
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: inner join

ohh lo siento aquí se me paso pero en el código no esta la coma
  #8 (permalink)  
Antiguo 27/01/2010, 18:03
 
Fecha de Ingreso: enero-2009
Mensajes: 77
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: inner join

Gracias, pero me salta:
Problemas en el select:Unknown column 'favoritos.user' in 'field list'

Última edición por juaann; 27/01/2010 a las 18:12
  #9 (permalink)  
Antiguo 28/01/2010, 02:10
 
Fecha de Ingreso: abril-2007
Mensajes: 114
Antigüedad: 17 años
Puntos: 2
Respuesta: inner join

Eso es porque aparentemente no hay ningún campo llamado "user". Revisa la lista de campos de la tabla favoritos
  #10 (permalink)  
Antiguo 28/01/2010, 02:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: inner join

carlosalas,
Código SQL:
Ver original
  1. SELECT
  2.      students.id, profile.*
  3. FROM
  4.      jos_mc_students students
  5. LEFT JOIN
  6.      jos_mc_profile profile ON students.id = profile.id
  7. GROUP BY
  8.      profile.nombres

No olvides que, si asignas alias, tienes que aplicarlos en todas las partes de la consulta.
  #11 (permalink)  
Antiguo 28/01/2010, 11:29
 
Fecha de Ingreso: enero-2010
Mensajes: 44
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: inner join

Tienes razón juera, muchas gracias!!

saludos.

Etiquetas: join
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 11:28.