SQL将脏名称从完整名称替换为标准名称

SQL将脏名称从完整名称替换为标准名称,sql,join,replace,left-join,union,Sql,Join,Replace,Left Join,Union,我想把学生的名字从学生的名字中删去,用标准的名字代替 实际上,我有一个名为“Name\u lookup\u table”的查找表,其中包含字段标准名称和脏名称 在查询的这一部分中,我从循环表的student\u first Name中找到Dirty\u Name。 tas.Student\u名字像“%”+nlt.Dirty\u名字 现在我想用学生名中的标准名替换这个脏名 我该怎么做 我正在尝试这个方法,但是标准名称不适合提取它的正确位置 SELECT Student_First_Name

我想把学生的名字从学生的名字中删去,用标准的名字代替

实际上,我有一个名为“Name\u lookup\u table”的查找表,其中包含字段标准名称和脏名称

在查询的这一部分中,我从循环表的student\u first Name中找到Dirty\u Name。
tas.Student\u名字像“%”+nlt.Dirty\u名字

现在我想用学生名中的标准名替换这个脏名

我该怎么做

我正在尝试这个方法,但是标准名称不适合提取它的正确位置

SELECT Student_First_Name
    ,concat(LEFT(Student_First_Name , LEN(Student_First_Name)-LEN(nlt.Dirty_Name)),nlt.Standard_Name)
    , nlt.Dirty_Name
    , nlt.Standard_Name


FROM Transformed_All_Student tas
        LEFT JOIN Name_Lookup_Table nlt
                    ON tas.Student_First_Name like '% '+nlt.Dirty_Name
WHERE tas.Student_First_Name like '% '+nlt.Dirty_Name


UNION

   SELECT Student_First_Name
 ,concat(nlt.Standard_Name,LEFT(Student_First_Name , LEN(Student_First_Name)-LEN(nlt.Dirty_Name)))
         , nlt.Dirty_Name
        , nlt.Standard_Name
    FROM Transformed_All_Student tas 
            LEFT JOIN Name_Lookup_Table nlt 
                    ON tas.Student_First_Name like nlt.Dirty_Name+' % '

WHERE tas.Student_First_Name like nlt.Dirty_Name+' % '

    UNION

SELECT Student_First_Name
    ,concat(LEFT(Student_First_Name , LEN(Student_First_Name)-LEN(nlt.Dirty_Name)),nlt.Standard_Name)        
    , nlt.Dirty_Name
    , nlt.Standard_Name

FROM Transformed_All_Student tas 
        LEFT JOIN Name_Lookup_Table nlt 
            ON tas.Student_First_Name like '% '+nlt.Dirty_Name+' % '

WHERE tas.Student_First_Name like '% '+nlt.Dirty_Name+' %'
p、 loopup表中的s脏_名称和标准_名称可以是可变长度

输出:

Full_Name             Replaced_Name        Dirty_Name     Standard_Name
1. Abdul              Adul                 Abdul          Adul
2. Mouhammad Saroor   MouhammMohammad      Mouhammad      Mohammad
3. Rashid             Rasheed              Rashid         Rasheed
4. Salim              Saleem               Salim          Saleem
5. Sh. Yaseen         Sh. YasSheikh        Sh.            Sheikh
第2行和第4行的输出不正确。 第二行中,您的名字应该是Mohammad Saroor 在第4行中,您的名字应该是Sheikh Yaseen:S

替换\u名称来自查询:
concat(左(学生名,LEN(学生名)-LEN(nlt.脏名)),nlt.标准名)

我正在连接她,但它没有将标准名称放在正确的位置,因为脏名称和标准名称的长度可变,而且它没有替换脏名称,只是覆盖了它。什么意思是标准名称不合适?你能举一个输出的例子吗?全名替换了全名脏名标准名Adul Abdul Adul Abdul Mohammad Saroor Mohammad Mohammad Mohammad Rashid Rashid Rashid Rashid Rashed Salim Salim Salim Salem Salem记录于2号行不正确,我希望此Mohammad saroor名称与Mohammad saroor相同,即Mohammad应替换为MUHAMMAD@Melanie替换后输出的一个名称是“Mohammad Mohammad”,但原始名称是Mohammad saroor我希望这个Mohammad saroor名称是Mohammad saroor,即Mohammad应该被MUHAMMAD替换。但是当你发布代码时,这个查询会给我输出“Mohammad Mohammad”而不是“Mohammad saroor”,返回并编辑原始问题是最简单的。你在评论中发布的内容并不容易阅读。请给出原始输入、输出内容以及输出内容。谢谢