所以我有两个表:
产品 ID 姓名
产品变体 ID 产品编号 姓名 条码
我想通过一个查询来选择所有产品,该查询包含一个包含相关变体数量的字段和一个包含所有相关条形码的字段(以空格分隔)。
例如这个输出:
product_id product_name product_variant_count product_variant_barcodes
1 Product 1 3 1234567890 0987654321 5432109876
2 Product 2 1 6789054321
3 Product 3 2 1234509876 3456781290
这可能吗?
最佳答案
正如评论中提到的,GROUP_CONCAT
非常适合此目的。
从产品中选择并加入到product_variants:
SELECT p.id, p.name, COUNT(pr.id) AS product_variant_count,
GROUP_CONCAT(pr.barcode SEPARATOR ' ') AS product_variant_barcodes
FROM products p
LEFT JOIN product_variants pr ON (p.id = pr.product_id)
GROUP BY p.id
关于MySQL从相关表中选择记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21834937/