MYSQL用于从表中选择值并使用逗号分隔符显示

时间:2016-01-16 06:09:35

标签: mysql

我有两张桌子:

销售表

    ===============================
    id     cust_id     total_price
    ===============================
    1       1           1000        

    2       2           1500

sales_item表

    ======================================================
    id     sales_id     cust_id     product     quantity
    ======================================================
    1       2           2           pen             2

    2       2           2           pencil          3

    3       1           1           book            2

    4       1           1           pencil          2

我需要查询这两个表以获得以下结果:

    =========================================
    sales_id     cust_id     product
    =========================================
    2               2           pen,pencil      

    1               1           book,pencil

任何人都可以帮我查询这两个表以获得上述结果吗?

我尝试使用GROUP_CONCAT。她是我尝试过的:

    SELECT s.id,s.cust_id,s.total_price,

    GROUP_CONCAT(i.prdt_name)products

    FROM sales s

    JOIN sale_items i ON s.id=i.sales_id 

我得到的结果是:

    ======================================================
    id     cust_id     total_price      product 
    ======================================================
    2       2           1500            pen,pencil,book

这不是我期待的结果..

2 个答案:

答案 0 :(得分:1)

尝试这样的事情,考虑一下这没有经过测试,它可能对你有帮助。

select sales.id,sales.cust_id, concat(sales_item.product) 
from sales LEFT JOIN sales_item ON sales_item.sales_id = sales.id
group by sales.id

答案 1 :(得分:0)

我通过使用GROUP_CONCAT本身得到了答案。这是我的查询:

    SELECT s.id,s.cust_id,s.total_price,

    GROUP_CONCAT(i.prdt_name)products

    FROM sales s

    JOIN sale_items i ON s.id=i.sales_id 

    GROUP BY s.id