Ver Mensaje Individual
  #13 (permalink)  
Antiguo 03/11/2010, 16:05
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: sistema de rating (ON DUPLICATE UPDATE) y promedio

Sigo. Lo de usar el promedio en un JOIN no funciono del todo bien. Me devuelve un solo resultado. Pero que bueno que todo pueda entonces reducirse a un par de consultas, cuando el script original usaba unas 15!

Esta es la consulta con el JOIN:
Código MySQL:
Ver original
  1. SELECT img.id, img.titulo, img.nombre_foto, img.tecnica, img.medidas , AVG(rate.puntaje) promedio
  2. FROM fotos AS img
  3. LEFT OUTER JOIN fotos_principales AS principal ON (principal.id_foto = img.id)
  4. LEFT JOIN puntuaciones AS rate ON (rate.id_foto = img.id)
  5. WHERE img.id_album = '2' AND principal.id_foto IS NULL
  6. ORDER BY img.id DESC

Me queda una duda mas. Necesito dar tres diferentes respuestas:
- ya votaste
- gracias por votar
- hubo un problema. Intentalo de nuevo.

Quizas esto lo solucione con PHP, pero creo que con mysql se puede. La idea es que si existe ya la clave ip/foto, me de un error de duplicado que yo pueda procesar. Que puedo hacer? Tengo esto:

Código MySQL:
Ver original
  1. "INSERT INTO puntuaciones (ip, id_foto, puntaje) VALUES ('1', 2', '3')"

Dany: no, no ahorraban en nada. Despilfarraban. Si vieras el codigo! Para empezar, había una consulta ajax para buscar el promedio de cada imagen en pantalla. En mi caso, 12. Y eso se puede tener desde un primer momento con un JOIN!

Última edición por mayid; 03/11/2010 a las 16:13