在两个表中匹配公司名称

时间:2013-11-20 10:34:30

标签: sql string oracle duplicate-removal

我有两个包含公司名称及其ID的表,表Corporation_NameIDNAME,另一个表DATA_ExcelCORPORATION as ID and C_Name as name;我必须将数据表中的公司名称与Corporation Name相匹配,以确保所有公司都存在,如果不是我只需要插入公司名称中不存在的公司。

目前我正在使用此查询:

Select Distinct (B.corporation), B.C_name
from data_excel B, corporation_name A
where B.C_name <> A.name

有时也是如此:

87  Société Générale de Belgique
87  Societe Generale de Belgique

1 个答案:

答案 0 :(得分:1)

您的查询无法找到您要查找的内容。您是A的所有公司,并与B中的所有公司匹配,这意味着它将返回Societe Generale的记录&lt;&gt;富通

从这开始:

    SELECT B.Corporation, B.C_Name
      FROM data_excel B
LEFT OUTER JOIN corporation_name A
        ON B.C_Name = A.Name
     WHERE A.Name IS NULL

这仍然无法解决所有问题,您仍需要更换

        ON B.C_Name = A.Name

像John Doyle所建议的那样,因为Société仍然不会与Societe相提并论!