首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL比较具有不同约束的两个不同的表

MySQL比较具有不同约束的两个不同的表
EN

Stack Overflow用户
提问于 2011-11-15 09:03:28
回答 1查看 228关注 0票数 0

两个不同表的MySQl比较

我有两个具有这些结构的表:

表1

代码语言:javascript
复制
FullContact
-----------
id
name
phone
address
email
phone
registration
marketingId
created

表2

代码语言:javascript
复制
Contacted
-----------
first_name
last_name
email

FullContact表包含人员,而Contacted可能包含相同的人员,但以奇怪的列结构返回给我。

FullContact可能包含重复项,但联系的and没有重复项。

主要目标:我想看看在FullContact中有多少来自Contacted。

我尝试运行的查询是这样的形式:

代码语言:javascript
复制
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中的条目,这些条目与使用内部连接并由三个字符串参数和一个日期参数约束联系的条目相同。

问题:我使用select语句来显示来自FullContact的项目和来自Contacted的项目的结果。结果包含唯一的FullContact列和重复的Contact值。

这是要运行的正确查询吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-11-15 09:30:49

您正在检查其中的三个重复项,姓名、电子邮件或电话。因此,如果你有两个不同的名字和相同的邮箱,你会在结果中得到两条记录。我本应在on子句中使用and。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8130287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档