1

我在数据库中有多个不同名称、日期和菜单的示例数据...我需要处理具有相同名称和日期的数据,但每个数据都有不同的菜单...

数据库

在此处输入图像描述

问题是我需要将所有具有相同名称和日期的菜单存储为一个新变量,因为我需要在 web 中为表格视图调用它,并且表格需要如下所示:

桌子

在此处输入图像描述

我已经使用数组来存储每个相同名称和日期的数据菜单,所以菜单如下所示:

在此处输入图像描述

我真的很困惑如何在这部分之后继续进行接近,

我如何获得输出 --> Candy Cake Cheese ,所以我可以在表中调用它(?)

我想我似乎不能只在查询中使用 concat_ws ,因为这些值来自数组的同一字段,或者是否有其他解决方案可以获取我需要的输出表?谢谢 :)

4

2 回答 2

5

您可能正在寻找 MySQL GROUP_CONCAT()聚合函数:

  SELECT Name, Date, GROUP_CONCAT(Menu) AS Menu
    FROM Table
GROUP BY Name, Date

这会给你的数据是这样的:

|--------|------------|---------|
| 姓名 | 日期 | 菜单 |
|--------|------------|---------|
| 西尔维 | 2001-01-01 | 糖果、蛋糕、奶酪 |
| 西尔维 | 2001-02-01 | 牛奶、茶 |
|--------|------------|---------|

从那里你只需要使用 PHP explode()函数来获取每个菜单记录作为一个数组。

于 2013-11-06T05:04:16.483 回答
1

使用serializejson_encode将值存储到数据库中,并在从数据库中获取值时使用unserializejson_decode

于 2013-11-06T04:34:24.553 回答