使用MySQL构建数据透视表(已编辑)
我有一个用于构建MySQL数据透视表的查询,它并没有给出我想要的结果。我想要建造的是这个 MySQL中的数据如下所示 当我运行我的查询时,它生成的不是我想要的 这是一个问题使用MySQL构建数据透视表(已编辑),mysql,database,join,sum,pivot,Mysql,Database,Join,Sum,Pivot,我有一个用于构建MySQL数据透视表的查询,它并没有给出我想要的结果。我想要建造的是这个 MySQL中的数据如下所示 当我运行我的查询时,它生成的不是我想要的 这是一个问题 select o.name, case when p.name= "Cash" then s.amount end as Cash, case when p.name= "M-PESA" then s.amount end as mpesa, s.customer_credit FROM o
select
o.name,
case when p.name= "Cash" then s.amount end as Cash,
case when p.name= "M-PESA" then s.amount end as mpesa,
s.customer_credit
FROM outlet o
INNER JOIN sale s ON s.outlet_id = o.id
INNER JOIN payment_type p ON s.payment_id = p.id`
这是小提琴你离得很近。您只需打开聚合:
select
o.name,
sum(case when p.name= 'cash' then s.amount else 0 end) as cash,
sum(case when p.name= 'm-pesa' then s.amount else 0 end) as mpesa,
sum(s.customer_credit)
from outlet o
inner join sale s on s.outlet_id = o.id
inner join payment_type p on s.payment_id = p.id
group by o.name
表应该总是以文本的形式出现,一个SqLFIDLE或DbFIDLE示例是一个严重贬值的例子。考虑应用程序代码中的数据显示的处理问题已经添加了模式。