mysql - 如何合并 2 个或更多类似的 mysql 行?

标签 mysql sql database sql-insert

我在 MySQL 中有名为“temporarytransaction”和“tbltransaction”的表

temporarytransaction 和 tbltransaction 有 3 个列,名为“客户”、“提供的服务”和“日期”

所以例如临时交易有 3 个值

Nathan | Men's Cut | 2017-09-23

Nathan | Nail Art | 2017-09-23

Nathan | Massage | 2017-09-23

我需要做的是合并或连接 tbltransaction 中的“提供的服务”。 tbltransaction 中可以这样保存吗?

Nathan | Men's Cut,Nail Art,Massage | 2017-09-23

我试过这个,但它并没有那样保存

INSERT INTO tbltransaction (customer,service,date) SELECT customer,service,date FROM temporarytransaction;";

最佳答案

您可以使用 group_concat 聚合 service 值:

INSERT INTO tbltransaction (customer,service,date)
SELECT      customer, GROUP_CONCAT(service SEPARATOR ','), date 
FROM        temporarytransaction
GROUP BY    customer, date

关于mysql - 如何合并 2 个或更多类似的 mysql 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46369521/

相关文章:

mysql - 如果多个表中不存在该行,则插入该行

database - 如何使用 asp 从 access 数据库中删除特定记录?

mysql - 获取mysql中的多行和单行

php - 如何在多条记录插入中获取最后插入的id?

mysql - 在单个查询中更新多个数据库记录(使用条件更新查询),具有相同的列值但不同的 ID

PHP Mysql计算日期时间之间的平均值并忽略平均值中的负结果

mysql - 基于两个交叉引用表连接多个表

c# - 无法更新所需的行

mysql - 在执行 COUNT(*) GROUP BY 字符串时如何实现绝对最快的方法

java - 如何使用 LIKE SelectionArgs 将 rawQuery() 转换为 query()