Mysql 在on值上带有前缀的SQL联接
我有两张表,Mysql 在on值上带有前缀的SQL联接,mysql,sql,select,join,Mysql,Sql,Select,Join,我有两张表,t1包含email和phonet2包含前缀邮件prefixEmail是以活动代码为前缀的电子邮件地址,例如:'4382_john@test.com“或”圣诞节15_john@test.com“ 我要执行以下连接(伪代码): 结果应该是一个包含电子邮件和电话的表格john@test.com但是sarah@test.com不应包含在结果中,因为她不在t2.prefixEmail中 小结:如果t1中的电子邮件是t2中的值的一部分,如何进行联接?将t2.prefixEmail放入's中,您将
t1
包含email
和phone
<代码>t2包含前缀邮件
prefixEmail
是以活动代码为前缀的电子邮件地址,例如:'4382_john@test.com“
或”圣诞节15_john@test.com“
我要执行以下连接(伪代码):
结果应该是一个包含电子邮件和电话的表格john@test.com但是sarah@test.com不应包含在结果中,因为她不在t2.prefixEmail中
小结:如果t1中的电子邮件是t2中的值的一部分,如何进行联接?将
t2.prefixEmail
放入'
s中,您将其视为字符串文本。相反,您可以在其两侧连接%
s:
SELECT 't1.email', 't1.phone'
FROM
t1 JOIN t2
ON t1.email LIKE CONCAT('%', REPLACE(t2.prefixEmail, '%', '\%'), '%')
SELECT t1.email, t1.phone
FROM t1
JOIN t2 ON t1.email LIKE CONCAT('%', t2.prefixEmail, '%')
“t1.email”是一个字符串。
SELECT t1.email, t1.phone
FROM t1
JOIN t2 ON t1.email LIKE CONCAT('%', t2.prefixEmail, '%')