【发布时间】:2011-11-15 01:03:28
【问题描述】:
MySQl 两个不同表的比较
我有两个具有这些结构的表:
表 1
FullContact
-----------
id
name
phone
address
email
phone
registration
marketingId
created
表 2
Contacted
-----------
first_name
last_name
email
FullContact 表包含人员,而 Contacted 可能包含相同的个人,但以奇怪的列结构返回给我。
FullContact 可能包含重复项,而 Contacted 没有重复项。
主要目标:我想看看有多少来自 Contacted 的人在 FullContact 中。
我尝试运行的查询是这种形式:
SELECT distinct fc.name, fc.email, fc.phone, concat_ws(" ",c.first_name, c.last_name),
c.phone from Contacted c
INNER JOIN FullContact fc
ON ( concat_ws(" ", c.first_name,
c.last_name) = fc.name or c.email = fc.email or (fc.phone REGEXP '[0-9]+$') = c.phone)
and fc.created >= '2011-11-01';
查询说明: 我试图通过使用内部连接并通过三个字符串参数和一个日期参数约束来选择 FullContact 中与 Contacted 相同的项目。
问题: 我做了选择语句来显示来自 FullContact 的项目和来自 Contacted 的项目的结果。结果包含唯一的 FullContact 列和重复的联系人值。
这是要运行的正确查询吗?
谢谢
【问题讨论】:
标签: mysql