3 таблицы - целостность ФК от тб1 плохая.ТБ2 и ТБ3 хороши.Главное - это tb1 - как мне сравнить и узнать, какие идентификаторы плохи в tb2 и tb3? - PullRequest
0 голосов
/ 13 июня 2019

Я принес свои данные из Salesforce.Существует основная таблица для дел, которая ссылается на таблицу счетов и таблицу контактов.Таблица счетов и контакты соответствуют требованиям.Таблица Cases имеет проблемы с таблицами Accounts и Contacts.Я хочу, чтобы очистить данные между совпадающими и удалить остальные, чтобы создать целостность.Я использовал ниже, чтобы найти то, что соответствует.Тем не менее, я хочу знать, что не совпадает, и если у меня есть идентификаторы, которые могут сопоставить их через другие маршруты.

Есть ли еще одно утверждение, которое я могу использовать только для того, что не равно?

SELECT Contact.AccountId AS Contact, Account.Id AS Account, [Case].ContactId AS [Case]
FROM Account
INNER JOIN [Case] ON Account.Id = [Case].AccountId
INNER JOIN
Contact ON Account.Id = Contact.AccountId AND [Case].ContactId = Contact.Id AND Account.Id = Contact.AccountId

В конечном итоге я хочу создать отношения FK от Case до Account & Contact.

1 Ответ

0 голосов
/ 13 июня 2019

Вы должны либо выполнить левое объединение и проверить наличие нулей, либо использовать запросы не существует ():

SELECT Contact.AccountId AS Contact, Account.Id AS Account, [Case].ContactId AS [Case]
FROM Account
left JOIN [Case] ON Account.Id = [Case].AccountId
where case.accountid is null

или

SELECT Contact.AccountId AS Contact, Account.Id AS Account, [Case].ContactId AS 
[Case]
FROM Account
where not exists(elect * from case where case.accountid=account.id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...