Как проверить, существуют ли строки во время запроса mysql JOIN? - PullRequest
0 голосов
/ 19 января 2012

У меня есть этот поисковый запрос sql, который работает, но он работает только при наличии голосов в таблице голосов.голоса это должно все еще показать.Но это не дает никаких результатов, кто-нибудь может сказать мне, что я делаю не так?

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")

1 Ответ

1 голос
/ 19 января 2012

Предполагая, что вам нужны результаты, даже если в таблицах голос , LEFT JOIN * * * * * * * * * * * * * * * * * * * * * * * * * * * 100 * * *

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
        LEFT 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")
*1009* *.1010 * Примечание: Я изменил ваш первоначальный запрос (не второй), поскольку вы сказали, что он по-прежнему не предоставил то, что вы хотели.
...