MySQL検索の参加中に行が存在するかどうかを確認するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/8916922

質問

このSQL検索クエリは機能しますが、投票テーブルに投票が存在する場合にのみ機能します。

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

それで、私はそれを以下に変更しましたので、0票があってもまだ表示されるはずです。しかし、それは結果を引っ張っていません、誰かが私が間違っていることを教えてくれますか?

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

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top