У меня есть proc, который загружает таблицу пользователей и при этом создает связь между пользователями и их менеджерами. У меня есть простой выбор ниже, чтобы определить maangerId для каждой пользовательской записи. я вижу, что есть менеджер, который должен быть назначен пользователю, но пользователь получает пробел и отсутствует назначение managerId.sql не оценивает правильное сравнение равных строк
DECLARE @managerId INT
SET @managerId = NULL
IF @CorpManagerDN IS NOT NULL
BEGIN
IF EXISTS (SELECT 69 FROM Employees WITH(NOLOCK) WHERE CorpManagerDN = @CorpManagerDN)
BEGIN
SELECT @managerId = EmployeeId FROM Employees WHERE CorpDN = @CorpManagerDN
END
END
идента является полем incrmenting самостоятельно, так что работает хорошо, а ManagerID поле заполняется выше логики. я замечаю иногда я получаю пустые значения ManagerID, когда я вижу значения CorpManagerDN как
CN = Tsahalis \, Питер NBKPVUD, OU = Pre-ЛЕНТА, OU = Accounts, OU = ЛЕНТА, DC = АМФ, DC = bankofamerica , DC = ком
и я вижу значение CORPDN менеджера как
CN = Tsahalis \, Питер NBKPVUD, OU = Pre-BAND, OU = Accounts, OU = ДИАПАЗОН, DC = corp, DC = bankofamerica, DC = com
, но оценка sql не соответствует им?
, Что ваш SQL Server сортировки – anivas