MySQL - 连接两个表并打印重复项

时间:2014-11-25 13:48:54

标签: php mysql

我正在尝试创建一个员工可以为客户下订单的脚本。由于业务性质,2名不同的员工可以为同一客户下订单。我想打印一份报告,以便验证这些订单。

我有一个客户表和一个订单表,我正在尝试创建一个查询,列出所有在customers表中有重复姓氏的记录,但前提是它们是该姓氏的订单,(客户可以在没有订单的情况下存在。)

这是一个不起眼的事情,或者我没有正确地搜索它,因为我没有找到任何完成此任务的查询。

感谢您的协助。

客户表 - id,first_name,last_name,address,city,state,zip,phone

订单表 - id,customer_id,数量(只有1个产品)

示例 - 有4个姓氏为Johnson的客户,2个姓氏为Johnson的记录也有订单(只有姓氏需要匹配,是重复的标准)。我希望查询打印姓氏为Johnson的所有客户实例(所有字段),其中customers.id出现在orders.customer_id

1 个答案:

答案 0 :(得分:1)

您可以使用自联接来识别重复的姓氏。某种类似的东西可能适合你的目的:

select c1.* from customers c1
join customers c2 on c1.last_name = c2.last_name and c1.id <> c2.id
join orders o on o.customer_id = c1.id