Ich habe eine Prozedur, die eine Tabelle Benutzer lädt und dabei eine Verbindung zwischen Benutzern und ihren Managern macht. Ich habe die einfache Auswahl unten, um MaagerId für jeden Benutzer Datensatz herauszufinden. Ich sehe, es gibt einen Manager, der einem Benutzer zugewiesen werden sollte, aber der Benutzer erhält ein Leerzeichen und die Zuordnung von managerId fehlt.sql nicht gleich gleichen String-Vergleich richtig
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
die userId ist ein selbst incrmenting Feld so, das gut funktioniert, und das MANAGERID Feld oben mit der Logik bevölkert. merke ich manchmal i leere MANAGERID Werte erhalten, wenn i CorpManagerDN Werte wie
CN = Tsahalis \, Peter NBKPVUD, OU = Pre-BAND, OU = Accounts, OU = BAND, DC = corp, DC = bankofamerica sehen siehe CORPDN, DC = com
und i-Wert des Manager wie
CN = Tsahalis \, Peter NBKPVUD, OU = Pre-BAND, OU = Accounts, OU = BAND, DC = Corp, DC = Bankofamerica, DC = com
aber die sql-Auswertung passt nicht zu ihnen?
was SQL Server-Sortierungs – anivas