2012-12-02 26 views
0

我有兩個表;一個用於產品,另一個用於產品評論。我需要一個查詢,可以將所有產品的評論連接到產品表中,但不會有重複結果。如何使查詢得到所有產品的評論

的問題是,當我使用此查詢:

SELECT * FROM `food_products` 
    INNER JOIN `comment` 
    ON food_products.product_id = comment.product_id 

其從產品表中的行返回重複。

+5

你如何設想它不會重複行?如果您對product_id = 1有2條評論,則結果中有兩行,其中product_it將等於1.嘗試想象您想要獲得的結果,然後您會看到它是什麼重複的結果 –

+0

?你的意思是相同的產品有相同的評論 –

+0

請舉兩個產品和一些評論的例子,然後告訴我們你如何看待結果。 –

回答

1

您可能想要將註釋連接在一起。試試這個:

select fp.*, 
     group_concat(coalesce(c.comment) seperator '!!!') 
from food_products fp left outer join 
    comments c 
    on fp.product_id = comment.product_id 
group by fp.product_id 

這將註釋與「!!!」分開。你可以選擇你想要的任何分隔符;默認值是逗號。

相關問題