【发布时间】:2018-12-25 17:38:44
【问题描述】:
最初在Query based on column values in row提问。
我在http://sqlfiddle.com/#!9/362f1cd/2 有 sqlfiddle。
我有一个包含 id、name、mobile、email 等列的客户表和一个包含 id、customerid、day_of_week、type_of_food、name_of_food 等列的每周汇总表 . type_of_food 列具有早餐、午餐、晚餐、蛋白质、零食等值(可以是 n 种)。
我需要的是一个类似的报告
客户姓名、手机、电子邮件、早餐、午餐、早餐 2、小吃 1、小吃 2,...(最多可有 n 个)
Acc1、Mob1、Email1、name_of_breakfast_food、name_of_lunch_food、name_of_dinner_food、... Acc2, Mob2, Email2, name_of_breakfast_food, name_of_lunch_food, name_of_dinner_food, ...
请记住,同一天可以有多种食物,例如一个帐户的 2 份早餐和 3 份小吃。
请注意,问题@MySQL pivot row into dynamic number of columns 仅有助于获取元素的数量(type_of_food),而我需要将它们分开(以及 name_of_lunch_food 中的值)以防有 2 个条目(即使是相同类型)。
编辑:根据 sqlfiddle 添加预期结果
姓名、手机、电子邮件、日期、早餐、小吃、午餐、小吃 1、晚餐、小吃 2
acc1, 1234, acc1@yopmail.com,星期一,鸡蛋,薯条,米饭,苹果,面包,凝乳
acc1, 1234, acc1@yopmail.com, 星期二, 面包, - , - , - , 牛奶, -
acc2, 2345, acc2@yopmail.com,星期一,鸡蛋,薯条,米饭,苹果,面包,-
acc2, 2345, acc2@yopmail.com, 星期二, - , 凝乳, 面包, - , 牛奶, -
【问题讨论】:
标签: mysql sql pivot-table