为多个员工维护一个名为CustomerInfo的数据库,每当客户联系我时,我都会将该客户详细信息插入到表中....如果同一个客户一次又一次地调用,则插入只有id号的新记录拨打电话的产品有所不同......
如果我用id搜索表只返回一条记录,但如果我用电话号码或电子邮件ID搜索它可能会给出多条记录,现在我想要的返回记录如下
Customer Name, Phone Number, Email Id, product1,product2,...
是否可以在SQL中执行此操作...? 如果是这样,请解释我......
答案 0 :(得分:1)
您可以使用聚合和group_concat()
:
select CustomerName, PhoneNumber, EmailId, group_concat(product)
from CustomerInfo
group by CustomerName, PhoneNumber, EmailId;
也就是说,您的数据库应该至少有两个表。一个用于客户的联系信息。另一个是CustomerProducts
的产品信息。这被称为"标准化"如果您使用的是关系数据库,那么您应该熟悉这个概念。在线有很多很好的解释。