我想检查列字符串是否包含在另一列中。
表格电子邮件:
complete_email
---------------------------------
zazumba@hotmail.com
jere@yahoo.com
maryhelp@aol.com
neil@cde.de
john_smith@zodll.ne
表格电子邮件:
username
--------------------
zazumba
maryhelp
neil
我想要执行的查询:
select e.complete_email
from emailslist e, emailpartial ep
where e.complete_email like '%ep.username%';
我希望结果如下:
complete_email
---------------------------
zazumba@hotmail.com
maryhelp@aol.com
neil@cde.de
但是,这不是编写此SQL查询的正确方法。有人可以澄清我怎么写它?
谢谢Samuel
答案 0 :(得分:3)
我确实相信你所寻找的是:
select e.complete_email
from emailslist e, emailpartial ep
where e.complete_email like '%' || ep.username || '%';
答案 1 :(得分:2)
您可以使用内置函数strpos()
:
select e.complete_email
from emailslist e
join emailpartial ep
on strpos(e.complete_email, ep.username) > 0
,如果使用like
,则可避免不必要的连接。
请注意,使用正确的连接语法对连接进行编码是最佳做法。