KyLim0211 Ответов: 1

Сравните две таблицы и дайте выходную запись, которой нет во 2-й таблице


я сравниваю 2 таблицы,1 Таблица-это таблица просмотра (с другого сервера), а другая 1-моя таблица базы данных.На выходе будет показана запись, которая не существует во 2-й таблице.


использование интранета

ВЫБИРАТЬ *
ОТ HRS_EMPLOYEEMASTER A
ГДЕ НЕ СУЩЕСТВУЕТ (
Выберите 100000
Из сведений о пользователях Б
Где A. EmployeeNo = B. EmployeeNo
);

Но почему я получаю эту ошибку?
Msg 468, Level 16, State 9, Line 8
Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.


Что я уже пробовал:

понятия не имею,пожалуйста, направьте меня по этому вопросу, спасибо.

0x01AA

Я бы предложил (с точки зрения производительности) сделать это следующим образом:
Выберите отдельный A. EmployeeNo
ОТ HRS_EMPLOYEEMASTER A
Левое соединение сведений о пользователях Б на Б. EmployeeNo = А. EmployeeNo
Где B. EmployeeNo равно нулю

1 Ответов

Рейтинг:
1

/\jmot

Вы можете попробовать что-то вроде этого.

SELECT A.*
FROM HRS_EMPLOYEEMASTER A
WHERE A.EmployeeNo  Not In (
SELECT B.EmployeeNo 
FROM UserInfo B
);