У меня есть две таблицы:
T1 :
CODE FULL_NAME
и T2 :
CODE FIRST_NAME LAST_NAME
всестолбцы типа NVARCHAR
.
Некоторые ячейки CODE
в T1
пусты, и мне нужно получить их из T2
.Мне нужно использовать FULL_NAME
информацию в T1
и искать в LAST_NAME
и FIRST_NAME
столбцах в T2
.Как написать такой UPDATE
?
То, что я написал до сих пор:
UPDATE IMPORT_DATA.RDBS_DATA_STORAGE
SET child_iin = pd.iin
FROM IMPORT_DATA.RDBS_DATA_STORAGE
INNER JOIN nedb.PERSONAL_DATA pd ON child_iin LIKE 'N' + '%' + pd.LAST_NAME + '%' + ' ' + 'N' + '%' +
pd.FIRST_NAME + '%'
ГДЕ LEN (child_iin) <1; </p>
Но безуспешно.
РЕДАКТИРОВАТЬ:
Я не могу просто использовать WHERE t1.FULL_NAME=t2.FIRST_NAME + ' ' + t2.LAST_NAME
, потому что у меня может быть такой сценарий, где t1.FULL_NAME
= 'Jorsh Arthur Weasley'
и t1.FIRST_NAME
= 'William'
, t2.LAST_NAME
= 'Weasley'
.
Также.
Мне нужно использовать N
, потому что, как я уже сказал, столбцы имеют тип NVARCHAR
, и у меня там есть буквы не-ASCII, например,
SELECT * FROM T1 WHERE CODE = 'Неважно'
ничего не повторяется, чтобы это исправить, я должен добавить N
: SELECT * FROM T1 WHERE CODE = N'Неважно'
возвращает строку.