[英]How to change the number of product categories per row using WooCommerce
[英]How do I select all categories per product and returning this in one row per product?
我現在有點動腦筋,因為這應該很容易(我認為)。
我有三個表:
我想列出帶有類別(名稱)的產品。 一種產品可能具有許多類別。
// This query
SELECT a.id, a.name, b.category
FROM sl_link_product_category c
LEFT JOIN sl_product a ON c.fk_productID = a.id
LEFT JOIN sl_category b ON c.fk_categoryID = b.id
WHERE c.fk_categoryID = b.id
ORDER BY a.id
// Gives me this result
| 1 | product 1 | cat 1 |
| 1 | product 1 | cat 2 |
| 1 | product 1 | cat 3 |
| 2 | product 2 | cat 2 |
| 2 | product 2 | cat 4 |
現在,在最終結果集中,我想要一個包含產品的數組,其中每個產品都有一個類別數組。
我的問題是; 我是否需要使用PHP中的結果集才能實現目標? 還是可以在MySQL中將所有類別(逗號分隔)放在一個變量/列中?
您正在尋找GROUP_CONCAT
函數:
SELECT a.id, a.name, GROUP_CONCAT(b.category)
FROM sl_link_product_category c
LEFT JOIN sl_product a ON c.fk_productID = a.id
LEFT JOIN sl_category b ON c.fk_categoryID = b.id
GROUP BY a.id, a.name
ORDER BY a.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.