2012-08-03 106 views
3

我面對的問題是,我想加入這兩個查詢。Mysql,加入查詢,困惑

SELECT recipes.RecipeID ,recipes.Name,recipes.ImageThumb,recipes.RatingTotal, 
    count(ratings.RecipeID) AS trates 
    FROM recipes 
     JOIN ratings 
      ON ratings.RecipeID = recipes.RecipeID 
    WHERE recipes.Name LIKE '%ade%' 
    ORDER BY Name; 

根據需要此查詢不工作,它帶來1分的結果時,有一個以上,且trates之際,總的所有結果,而不是隻對特定的RecipeID

回答

3

我的認爲這是你正在尋找的:

SELECT recipes.RecipeID ,recipes.Name,recipes.ImageThumb,recipes.RatingTotal, 
     COUNT(ratings.RecipeID) AS trates 
FROM recipes 
    LEFT JOIN ratings 
     ON ratings.RecipeID = recipes.RecipeID 
WHERE recipes.Name LIKE '%ade%' 
GROUP BY RecipeID 
ORDER BY Name; 
+0

謝謝你的工作! – 2012-08-03 09:17:16

+0

歡迎!不要忘記接受最好的答案! :) – Omesh 2012-08-03 09:18:27