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

[SOLUCIONADO] Necesito obtener un registro de un campo en tablas relacionadas

Estas en el tema de Necesito obtener un registro de un campo en tablas relacionadas en el foro de Mysql en Foros del Web. Hola tengo una tabla que se llama rate_actors en esta se inserta un numero del 1 al 10 en el campo voto,en el campo votos ...
  #1 (permalink)  
Antiguo 06/02/2013, 06:41
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 7
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Necesito obtener un registro de un campo en tablas relacionadas

Hola tengo una tabla que se llama rate_actors en esta se inserta un numero del 1 al 10 en el campo voto,en el campo votos se inserta 1 cada vez que se realiza un nuevo insert ya que por cada voto se crea una nueva fila en la tabla.
el campo ip que inserta la ip del visitante para que solo pueda votar una vez.
y el campo id_actor.

Para obtener los resultados ejecuto esta select.

Código MySQL:
Ver original
  1. SELECT FORMAT( sum( voto ) / sum( votos ) , 2 ) AS total, count( id_actor ) AS cuantos, id_actor
  2. FROM rate_actors
  3. GROUP BY id_actor
  4. HAVING count( id_actor ) > 0
  5. LIMIT 0 , 3

Esta select devuelve esto.

total 8.00 (el alias en la select es total)
votos 2 (el alias en la select es cuantos)
id_actor 1333 (este campo no tiene alias id_actor)

total 7.67
votos 3
id_actor 1858

toal 7.00
votos 1
id_actor 1706


tengo otra tabla que se llama actores y el campo en comun que las relaciona se llama id_actor
lo que quiero ahora es seleccionar de la tabla actores el campo NombreActor que se corresponde con el id_actor de la tabla rate_actors.
he probado varias formas de hacerlo y consultado en varios foros pero no he podido solucionarlo por eso al final decidi preguntar aqui en foros del web.

Muchas gracias.

Última edición por leonbis; 06/02/2013 a las 06:45 Razón: me equivoque.
  #2 (permalink)  
Antiguo 06/02/2013, 08:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Necesito obtener un registro de un campo en tablas relacionadas

Código MySQL:
Ver original
  1. SELECT a.nombreactor, t1.total, t1.cuantos, t1.idactor FROM actores a INNER JOIN  (  SELECT idactor, FORMAT( sum( voto ) / sum( votos ) , 2 ) AS total, count( id_actor ) AS cuantos, id_actor
  2.     FROM rate_actors
  3.     GROUP BY id_actor
  4.     HAVING count( id_actor ) > 0
  5.     ORDER BY total DESC
  6.     LIMIT 0 , 3)t1 ON a.idactor = t1.idactor
  #3 (permalink)  
Antiguo 06/02/2013, 09:52
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 7
Antigüedad: 13 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Necesito obtener un registro de un campo en tablas relacionadas

Cita:
Iniciado por jurena Ver Mensaje
Código MySQL:
Ver original
  1. SELECT a.nombreactor, t1.total, t1.cuantos, t1.idactor FROM actores a INNER JOIN  (  SELECT idactor, FORMAT( sum( voto ) / sum( votos ) , 2 ) AS total, count( id_actor ) AS cuantos, id_actor
  2.     FROM rate_actors
  3.     GROUP BY id_actor
  4.     HAVING count( id_actor ) > 0
  5.     ORDER BY total DESC
  6.     LIMIT 0 , 3)t1 ON a.idactor = t1.idactor
Funciona perfectamente ahora puedo obtener el nombre del actor junto a su valoración y el número de votos.
Muchas gracias jurena eres un crack ! ! !

Etiquetas: relacionadas, tablas
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 09:50.