第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用部分名稱進(jìn)行匹配

如何使用部分名稱進(jìn)行匹配

森林海 2022-05-24 16:06:41
我在選擇匹配的主鍵時遇到問題。我的問題如下:給定兩張表,一張包含員工姓名及其員工 ID,另一張僅包含員工姓名(非標(biāo)準(zhǔn)格式)和相關(guān)信息。我想將它們組合在一起,但由于名稱無法完全匹配。我能做些什么?表格可能如下所示:T1FirstName    LastName     EmployeeID  Newsom       Tom           001  Greg         Thomas        002  Henry        Peter         003T2 FirstName      LastName        HiringDate    Gender   Tom          Newson Jr.      01/01/2019      M   Greg          Thomas         01/01/2019      M   Peter Sr.      Henry         01/01/2019      M從表中可以看出,名稱不匹配。有沒有辦法將其正式化?名稱可以是主鍵嗎?
查看完整描述

3 回答

?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗 獲得超2個贊

評論太長了。

您確實無法以這種方式自動進(jìn)行名稱匹配。第一個明顯的問題是兩個員工可能有相同的名字,例如“Jane Doe”。那么就沒有辦法消除它們的歧義。

另一個問題是名稱可以顛倒?!啊巴旭R斯·威廉姆斯”和“威廉·托馬斯”一樣嗎?

您可以做的最好的事情是設(shè)置手動過程。這可能采取將所有名稱轉(zhuǎn)儲到電子表格中并手動選擇規(guī)范形式的形式。然后,用兩個新表加載數(shù)據(jù)庫:

  • Names其中包含員工 ID 和正確的姓名形式。

  • Nicknames其中有名稱的替代渲染。

這是一個手動過程,可能很費(fèi)力。對于大量名稱,肯定有可以提供幫助的工具?;ㄙM(fèi)數(shù)百美元,您甚至可能在對其他工具進(jìn)行適當(dāng)調(diào)查之前就完成了。


查看完整回答
反對 回復(fù) 2022-05-24
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗 獲得超9個贊

你可以從這樣的事情開始: 

    with t1 (fnam,lnam,eid) as (values 

('Newsom','Tom','001'),

('Greg','Thomas','002'),

('Henry','Peter','003') 

),

     t2 (fnam,lnam,hired,gender) as (values 

('Tom','Newson Jr.','01/01/2019','M'),

('Greg','Thomas','01/01/2019','M'),

('Peter Sr.','Henry','01/01/2019','M') 

) select t1.lnam as fnam,

       t1.fnam as lnam,

       t1.eid as emp_id,

       t2.hired as date_hired,

       t2.gender as gender 

  from   t1 

  cross  join t2 

  where  ((t1.lnam like '%' concat t2.fnam concat '%' or

         t1.fnam like '%' concat t2.lnam concat '%') 

        and

        (t2.fnam like '%' concat t1.lnam concat '%' or

         t2.lnam like '%' concat t1.fnam concat '%'))

        or

       ((t1.fnam like '%' concat t2.fnam concat '%' or

         t1.lnam like '%' concat t2.lnam concat '%')

        and

        (t2.fnam like '%' concat t1.fnam concat '%' or

         t2.lnam like '%' concat t1.lnam concat '%'))


查看完整回答
反對 回復(fù) 2022-05-24
?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗 獲得超6個贊

有幾個解決方案。如果您可以更改表以使其EmployeeID作為主鍵并將其也用作另一個表中的外鍵,那么那將是最好的。除此之外,您可以嘗試以下查詢:


此 sql 用于 Mysql 數(shù)據(jù)庫


select * from 

T1 join T2

on (

    concat(T2.Firstname,T2.Lastname) like concat('%',T1.Firstname, T1.Lastname,'%')

    OR

    concat(T2.Lastname,T2.Firstname) like concat('%',T1.Firstname, T1.Lastname,'%')

)


查看完整回答
反對 回復(fù) 2022-05-24
  • 3 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號