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

Enlasar tablas

Estas en el tema de Enlasar tablas en el foro de Mysql en Foros del Web. Hola, Bueno no se como se llama esto, pero esto es lo que quiero hacer miren. Tengo 2 tablas ( temas , users ): temas ...
  #1 (permalink)  
Antiguo 22/11/2009, 17:10
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
Enlasar tablas

Hola,
Bueno no se como se llama esto, pero esto es lo que quiero hacer miren.
Tengo 2 tablas (temas,users):
temas
title
autor
respuestas
...

users
id
nick
mensajes
...
rank

y nesesito "enlasar" las tablas para no hacer una consulta por post ( para saber el nick del autor, porque solo guardo el id )
y a eso lo ago haci miren:
Código sql:
Ver original
  1. SELECT tema.id AS id_tema, USER.nick AS autor, USER.id AS uid, tema.contenido AS contenido, tema.title AS title, tema.TIME AS TIME, USER.mensajes AS mensajes
  2.           FROM temas AS tema
  3.           LEFT JOIN users AS USER ON tema.autor=USER.id WHERE tema.foro='.$_GET['foro'].' AND (tema.tema='.$_GET['id'].' OR tema.id='.$_GET['id'].')
ahora tengo una tereser tabla:
ranks
id
rank
cargo
permisos

y ahora quiero en esa misma consulta, que me diga el cargo de la tabla ranks.
Gracias
Salu2
__________________
Half Music - www.halfmusic.com
  #2 (permalink)  
Antiguo 22/11/2009, 17:59
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
Respuesta: Enlasar tablas

Listo, ya lo logre con esta consulta:
Código sql:
Ver original
  1. SELECT tema.id AS id_tema, USER.nick AS autor, USER.id AS uid, tema.contenido AS contenido, tema.title AS title, tema.TIME AS TIME, USER.mensajes AS mensajes, rank.cargo AS cargo
  2. FROM (
  3. half_ranks AS rank
  4. INNER JOIN half_users AS USER ON rank.rank = USER.rank
  5. )
  6. INNER JOIN half_temas AS tema ON tema.autor = USER.id
  7. WHERE tema.foro =2
  8. AND (
  9. tema.tema =1
  10. OR tema.id =1
  11. )
__________________
Half Music - www.halfmusic.com
  #3 (permalink)  
Antiguo 22/11/2009, 18:59
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
Respuesta: Enlasar tablas

Una pregunta, para no abrir un nuevo post.
Tengo esta sql:
Código sql:
Ver original
  1. SELECT tema.id AS id_tema, tema.respuestas AS respuestas, tema.foro AS foro, tema.utlautor AS utlautor, tema.visitas AS visitas, USER.nick AS autor, USER.id AS uid, tema.contenido AS contenido, tema.title AS title, tema.ulttime AS ulttime
  2.           FROM '.TB_PREXI.'temas AS tema
  3.           LEFT JOIN '.TB_PREXI.'users AS USER ON tema.autor=USER.id WHERE tema.foro='.intval($_GET['foro']).' AND tema.tema=0
Y tengo la tablas:
temas
title
autor
respuestas
...
utlautor

users
id
nick
mensajes
...
rank

Lo que pasa es que en la fila utlautor(de temas) tengo guardada el id del autor, y nesesito sacar el nick que esta guadada en users. Y no se como hacerlo.
Gracias
Salu2
PD: Perdon por 2 post!.. :p



EDITO:
Intente algo haci:
Código sql:
Ver original
  1. SELECT tema.id AS id_tema, tema.respuestas AS respuestas, userult.nick AS ultimotipo, tema.foro AS foro, tema.utlautor AS utlautor, tema.visitas AS visitas, USER.nick AS autor, USER.id AS uid, tema.contenido AS contenido, tema.title AS title, tema.ulttime AS ulttime
  2. FROM half_users AS USER, half_users AS userult
  3. INNER JOIN half_temas AS tm ON tm.utlautor = userult.id
  4. INNER JOIN half_temas AS tema ON tema.autor = USER.id
  5. WHERE tema.foro =2
  6. AND tema.tema =0
pero no anda :S
__________________
Half Music - www.halfmusic.com

Última edición por pato12; 23/11/2009 a las 13:09
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 01:59.