0
使用的原料的數字。這是我的MySQL查詢當我嘗試計數喜歡的數量,而不是它顯示了配方
SELECT r.RECIPE_ID as recipe_id,
r.RECIPE_NAME as recipe_name,
r.RECIPE_DESC as recipe_desc,
r.RECIPE_DURATION duration,
group_concat(i.ING_NAME separator ', ') as recipe_ingredients,
rc.CUSINE_NAME as cusine,
rt.RECIPE_TYPE_NAME as type,
r.image ,
count(lr.likecount)
FROM RECIPE_LIST r
inner join likerecipes lr on r.recipe_id = lr.recipe_id
inner JOIN RECIPE_INGLIST ri ON r.RECIPE_ID = ri.recipe_id
inner JOIN ING_LIST i ON ri.ING_ID = i.ING_id and r.RECIPE_ID = ri.recipe_id
inner JOIN RECIPE_CUSINE rc ON r.RECIPE_CUSINE_ID = rc.CUSINE_ID
inner JOIN RECIPE_TYPE rt ON r.RECIPE_TYPE_ID = rt.recipe_typeid
WHERE r.RECIPE_ID >= 1
GROUP BY r.RECIPE_NAME
輸出表將顯示如下 Image1
但是,當我除去原料場和所有的連接和執行相同的查詢
SELECT r.RECIPE_ID as recipe_id,
r.RECIPE_NAME as recipe_name,
r.RECIPE_DESC as recipe_desc,
r.RECIPE_DURATION duration,
rc.CUSINE_NAME as cusine,
rt.RECIPE_TYPE_NAME as type,
r.image ,
count(lr.likecount)
FROM RECIPE_LIST r
inner join likerecipes lr on r.recipe_id = lr.recipe_id
inner JOIN RECIPE_CUSINE rc ON r.RECIPE_CUSINE_ID = rc.CUSINE_ID
inner JOIN RECIPE_TYPE rt ON r.RECIPE_TYPE_ID = rt.recipe_typeid
WHERE r.RECIPE_ID >= 1
GROUP BY r.RECIPE_NAME
我得到期望的結果 - > Image 2
有沒有什麼方法可以顯示正確數量的喜歡成分。 (PS。我知道第一個查詢是顯示no成分而不是喜歡,因爲當我推導出其中一個成分的數量減少了,也顯示的食譜通過透視表顯示recipe_inglist加入recipe_list和ing_list表(如果那有什麼做的其餘部分之前喜歡用它做))
我做了什麼,你告訴我,做和插入上述查詢,刪除先前存在的與喜歡相關的查詢,但輸出表甚至沒有類似的列 –
你必須在'select'中包含'likes'。 –
MySQL說:文檔 #1349 - 視圖的SELECT包含FROM子句中的子查詢....爲什麼我得到這個錯誤。當我試圖搜索它時,它顯示它與我使用的mysql版本有關,它使用了@AtulStha的 –