Соответствующие названия компаний в двух таблицах

У меня есть две таблицы с названиями компаний и их идентификаторами, таблица Corporation_Name имеет ID а также NAMEдругой стол DATA_Excel имеет CORPORATION 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 ответ

Решение

Ваш запрос не находит то, что вы ищете. Вы все компании из А и сопоставляете их со всеми компаниями в В, что означает, что он вернет рекорд для Societe Generale <> Fortis

Начните с этого:

    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

С чем-то вроде того, что предложил Джон Дойл, потому что Société все равно не будет соответствовать Societe!

Другие вопросы по тегам