我有這樣的模式:MYSQL列出所有產品的所有類別
table_products:PRODUCT_ID,名稱,價格,
table_categories:CATEGORY_ID,名稱,
table_categories_products:CATEGORY_ID ,product_id
我想列出我的分貝的所有產品,包括所有每種產品的類別。
其實我使用這個查詢:
SELECT p.id, p.name, p.price, GROUP_CONCAT(c.category_id, ';', c.name SEPARATOR ',')
FROM table_products
LEFT JOIN table_categories_products tcp ON tcp.product_id=p.product_id
LEFT JOIN table_categories c ON c.category_id=p.product_id
GROUP BY p.id
的問題是,一個產品可能是無限的類別內,GROUP_CONCAT具有大小限制。
更新
我已經考慮增加 「group_concat_max_len」 的選項,但dont't允許無限串
您可以爲當前會話q.v增加「GROUP_CONCAT」的限制。 [這裏](http://stackoverflow.com/questions/2567000/mysql-and-group-concat-maximum-length)。但是,如果你期望一個無限的字符串,那麼你應該改變你的查詢。 –