Я пытаюсь создать запрос, который объединяет 2 таблицы на основе имени и фамилии.Я успешно получил свои подстроки для разделения имен из одного столбца на 2 с именами FirstName и LastName.Это должно позволить мне сопоставить эти столбцы, чтобы они могли получить правильный добавочный номер, номер телефона, отдел и имя.Однако я делаю что-то не так здесь.Мой метод выполнения этого не работает, или он выдаст ошибку.
SELECT SUBSTRING(Users.Names, CHARINDEX(' ', Users.Names + ' ') + 1, 8000)AS LastName, SUBSTRING(Users.Names, 1, CHARINDEX(' ', Users.Names) - 1) AS FirstName,Users.Extension, GA.[First], GA.[Last], GA.Department, GA.Phone, GA.Mobile
FROM GlobalAddress AS GA
Left Join Users ON GA.[First] = substring(Users.Names,1,charindex(' ',Users.Names) ) AND SUBSTRING(Users.Names, CHARINDEX(' ', Users.Names + ' ') + 1, 8000) = Ga.[Last]
WHERE GA.[Last] IS NOT NULL
ORDER BY Users.Extension
Я думал, что могу поменять левое соединение с:
Users ON GA.[First] = FirstName AND Ga.[Last] = LastName
Но это приводит к ошибке.Неверное имя столбца «FirstName».
Пример формата, которому я следую
Любая помощь приветствуется.
РЕДАКТИРОВАТЬ: Проблема в том, что первые несколько человек неправильно получают расширение и по какой-то причине их имена не разделяются.Проблема не в данных таблицы, хотя
Edit2: Пример таблицы глобальных адресов
Пример пользователей