我已经看过很多以前的问题,但是似乎找不到与我的查询相匹配的问题?

我当前的站点的客户详细信息存储在数据库中的不同表中。

我设法通过以下方式将基于名字和姓氏的表联接在一起:

Select *
FROM ps_customer
INNER JOIN ps_address
      ON ps_address.Firstname = ps_customer.Firstname AND
         ps_address.Lastname = ps_customer.Lastname


但是,结果包含相同客户的重复电子邮件地址。我想要做的是返回联接表中的所有列,但仅返回唯一/唯一的电子邮件地址?有命令可以做到这一点吗?

ps我对sql很陌生,所以对非技术性语言表示歉意

我想做这张照片中的enter image description here

最佳答案

使用DISTINCT

SELECT DISTINCT
    pc.ID,
    pc.Firstname,
    pc.Lastname,
    pa.Address1,
    pa.Address2,
    pa.Zip,
    pc.email
FROM ps_customer pc
INNER JOIN ps_address pa
    ON pa.Firstname = pc.Firstname AND
       pa.Lastname = pc.Lastname;


我不确定您要选择哪些列,但是上述模式应该是此处的一种方法。

关于mysql - 根据一个不同的字段从联接表中选择数据,但返回所有其他列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48583590/

10-16 14:42