0
SELECT     favourites.FavouriteID, 
           favourites.User, 
           favourites.RecipeID,
           recipes.RecipeID,
           recipes.Name,
           recipes.CategoryID,
           recipes.RatingTotal,
           recipes.ImageMed,    
           count(ratings.RecipeID) AS trates ,
           (recipes.RatingTotal / COUNT(ratings.RecipeID)) as avg
FROM       favourites
                  RIGHT JOIN recipes 
                         on recipes.RecipeID = favourites.RecipeID
                  LEFT JOIN ratings 
                         ON ratings.RecipeID = recipes.RecipeID
WHERE favourites.user = '$Cuser' 
GROUP BY ratings.RecipeID 
ORDER BY avg  DESC, trates DESC  
LIMIT  $offset,20

こんにちは、このクエリは合計 3 つのレコードを取得しますが、それらは 7 です。他の 4 つは評価テーブルにレコードがないため、取得できません。どうすれば調整できますか?

お気に入りテーブルには、ユーザーがお気に入りリストに追加したレシピのレシピ ID が含まれています。クエリで、お気に入りテーブルからレシピを表示しようとしています。評価のないものは表示されません

4

1 に答える 1

0

エラーはデータにあるようです。お気に入りとレシピの間の関係の整合性が損なわれている可能性があります。テスト データを表示します。

于 2012-08-18T21:18:17.423 に答える