Pregunta

Tengo esta consulta de búsqueda SQL que funciona, pero solo funciona si existen votos en la tabla de votos.

mysql_query("SELECT m.Title, r.Subject, SUM(v.IsGood) AS Good, SUM(v.IsBad) AS Bad
    FROM Movies m
        JOIN Reviews r
            ON m.ID=r.MovieID
        JOIN Votes v
        ON r.ID=v.ReviewID
    WHERE (m.Title LIKE '%" . $search . "%' OR r.Subject LIKE '%" . $search . "%')
        GROUP BY m.Title, r.Subject
    ORDER BY SUM(v.IsGood) DESC, SUM(v.IsBad) ASC LIMIT 10")

Así que lo he cambiado a esto a continuación para que no importa si hay 0 votos que aún debería mostrar. Pero no tiene ningún resultado, ¿alguien puede decirme qué estoy haciendo mal?

mysql_query("SELECT m.Title, r.Subject, COUNT(v.ReviewID) AS Rvotes, SUM(v.IsGood) AS Good, SUM(v.IsBad) AS Bad
    FROM Movies m
        JOIN Reviews r
            ON m.ID=r.MovieID
        JOIN Votes v
        ON r.ID=v.ReviewID
    WHERE (m.Title LIKE '%" . $search . "%' OR r.Subject LIKE '%" . $search . "%')
        GROUP BY m.Title, r.Subject, v.ReviewID
            HAVING Rvotes >= 0
    ORDER BY SUM(v.IsGood) DESC, SUM(v.IsBad) ASC LIMIT 10")

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top