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

Join

Estas en el tema de Join en el foro de Mysql en Foros del Web. Hola, tengo 3 tablas-> videos, cat y la que las une videos_cat Código PHP: "SELECT * FROM videos v JOIN videos_cat vc ON v.id=vc.idvideos JOIN cat c ON vc.idcat=c.id WHERE categoria LIKE 'humor' ORDER BY rand() LIMIT 1"  La cosa es que todo ...
  #1 (permalink)  
Antiguo 26/11/2007, 13:59
Avatar de xevisoyyo  
Fecha de Ingreso: mayo-2005
Mensajes: 166
Antigüedad: 18 años, 11 meses
Puntos: 1
Join

Hola, tengo 3 tablas-> videos, cat y la que las une videos_cat

Código PHP:
"SELECT * FROM videos v
JOIN videos_cat vc
ON v.id=vc.idvideos
JOIN cat c
ON vc.idcat=c.id
WHERE categoria LIKE 'humor' ORDER BY rand() LIMIT 1" 
La cosa es que todo va bien pero cuando quiero la id de videos ($row['id']) me coge la id de cat y yo quiero la id de videos. ¿Qué hago mal?

Si alguien me lo pudiera explicar un poco, es la primera vez que uso tablas relacionales.

Gracias
  #2 (permalink)  
Antiguo 26/11/2007, 14:07
Avatar de xevisoyyo  
Fecha de Ingreso: mayo-2005
Mensajes: 166
Antigüedad: 18 años, 11 meses
Puntos: 1
Re: Join

Ostras he tardado 5 segundos en arreglarlo, lo hice al revés, pero el caso es que jnose si es solo cuestion de orden o lo hagoa mal, repito que es la primera vez que trato el tema de tablas relacionados

La cosa es que asi parece q va bien

Código PHP:
"SELECT * FROM cat c
JOIN videos_cat vc
ON c.id=vc.idcat
JOIN videos v
ON vc.idvideos=v.id
WHERE categoria LIKE 'humor' ORDER BY rand() LIMIT 1" 

Si alguien me explica si estaria bien asi o si he de cambiar algo o todo, aunq repito que va bien

Gracias
  #3 (permalink)  
Antiguo 26/11/2007, 14:37
Avatar de xevisoyyo  
Fecha de Ingreso: mayo-2005
Mensajes: 166
Antigüedad: 18 años, 11 meses
Puntos: 1
Re: Join

Otra cosa si en lugar de poner SELECT * FROM pongo SELECT v.id, v.titulo,v.etcetera, ...., ... FROM seria mas correcto? las dos son correctas? lo digo por el problema que tuve con el id.
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 04:52.