如何在单个sql表中合并两个记录的相同字段

时间:2014-04-27 14:13:04

标签: java mysql sql jdbc

为多个员工维护一个名为CustomerInfo的数据库,每当客户联系我时,我都会将该客户详细信息插入到表中....如果同一个客户一次又一次地调用,则插入只有id号的新记录拨打电话的产品有所不同......

如果我用id搜索表只返回一条记录,但如果我用电话号码或电子邮件ID搜索它可能会给出多条记录,现在我想要的返回记录如下

Customer Name, Phone Number, Email Id, product1,product2,...

是否可以在SQL中执行此操作...? 如果是这样,请解释我......

1 个答案:

答案 0 :(得分:1)

您可以使用聚合和group_concat()

执行此操作
select CustomerName, PhoneNumber, EmailId, group_concat(product)
from CustomerInfo
group by CustomerName, PhoneNumber, EmailId;

也就是说,您的数据库应该至少有两个表。一个用于客户的联系信息。另一个是CustomerProducts的产品信息。这被称为"标准化"如果您使用的是关系数据库,那么您应该熟悉这个概念。在线有很多很好的解释。