2012-02-29 4 views
0

Сценарий типичен. Пользователь просит импортировать таблицу в таблицу - мастер-таблицу.Проверка неверных импортированных данных в MS Access

Mastertable имеет PK acct и FK ProviderID.

Импорт идет плохо, около 10% записей потеряны из-за ключевых нарушений. Я думаю, это связано с указанием идентификатора поставщика, которого нет.

Есть ли способ, который я могу выяснить, какие идентификаторы поставщика являются плохими? Я могу импортировать в новую таблицу - «MasterTableNew», но когда я делаю выбор, как это:

SELECT acct FROM MastertableNew 
WHERE NOT EXIST (
    SELECT Mastertable.acct 
    FROM Mastertable 
    INNER JOIN MastertableNew 
    ON Mastertable.acct = MastertableNew.acct) 

оказывается пустым - Я ожидал увидеть строки, которые существуют в MastertableNew, которые не существуют в Mastertable.

ответ

1

Как насчет:

SELECT acct FROM MastertableNew 
LEFT JOIN Mastertable ON MastertableNew.acct = Mastertable.acct 
WHERE Mastertable.acct Is Null 
+0

Мех. «Тип Несоответствие в выражении» Это мой точный запрос (обратите внимание, что я использую другую таблицу, но концепция точно такая же) .SELECT CDNew.acct, CDNew.ID FROM CDNew LEFT JOIN ChartDetail ON CDNew. [Acct] = ChartDetail. [Acct] WHERE (((ChartDetail.acct) Is Null)); – Rob

+0

Игнорировать выше, я импортировал acct как текстовое поле, и оно должно быть числом, соответствующим существующей таблице. Это отлично работает, спасибо! – Rob

Смежные вопросы