我有两个表,需要根据电子邮件ID加入它们。让我用例子来说明这一点
如果在email_id中的@之后存在公司名称,则需要使用第1列的电子邮件ID更新第2列
我认为我们需要编写一个从@开始并在(。)之前结束并进行模式匹配的子字符串,但我不知道该怎么做。如果有人能帮助我,我真的很感激。
提前致谢!!
答案 0 :(得分:0)
根据我的理解,以下查询将适用于要求。
SELECT A.COMPANYNAME, B.MAILID
FROM A
JOIN B ON A.COMPANYNAME =
B.SUBSTRING(MAILID, CHARINDEX('@',MAILID) + 1, PATINDEX('%.com%', MAILID) - CHARINDEX('@', MAILID) - 1)
答案 1 :(得分:0)
您可以尝试此查询
update TableA
set TableA.Column2= Table2.column1
From TableA inner join Table2
on TableA.column1 like CONCAT('%', left(RIGHT(Table2.column1,LEN(Table2.column1)-CHARINDEX('@',Table2.column1)),LEN(RIGHT(Table2.column1,LEN(Table2.column1)-CHARINDEX('@',Table2.column1)))-CHARINDEX('.',RIGHT(Table2.column1,LEN(Table2.column1)-CHARINDEX('@',Table2.column1)))) ,'%')