我有一张名为'stock'的表:
stock_id | prod_id | size | color | shop_id | qty 1 | 4 | L | Red | 1 | 3 2 | 4 | XL | Blue | 2 | 1 3 | 4 | L | Red | 3 | 2 4 | 2 | XXL | White | 1 | 7 5 | 4 | L | Red | 4 | 1
其中一些..
我有产品表和商店餐桌。
我想要的结果是这样的:
prod_id | prod_name | shop_name | color_size_qty 4 | T-Shirt | Shop 1 | Red,L,(3) 2 | T-Shirt | Shop 1 | White,XXL,(7) 4 | T-Shirt | Shop 2 | Blue,XL,(1)
我不知道你是否能理解我。我得到的最接近的是
prod id | prod_name | Colors | sizes |
4 | T-Shirt |Red,Red,Red,Blue,White | L,L,L,XL,XL
你甚至没有看到。希望你能帮帮我。
答案 0 :(得分:5)
您可能只需要一个简单的CONCAT()
,而不是GROUP_CONCAT()
:
SELECT
prod_id, prod_name, shop_name,
CONCAT(color, ',', size, ', (', qty, ')') AS color_size_qty
FROM
stock
JOIN products ON stock.prod_id=products.id
JOIN shops ON stock.shop_id=shops.id
ORDER BY
prod_name ASC, shop_name ASC