Не удалось связать идентификатор из нескольких частей столбца обновления - PullRequest
0 голосов
/ 08 ноября 2019
UPDATE country
SET country.postcode = (SELECT t.postcode
                        FROM Patch_Country t
                        WHERE t.Rows = 2 AND tll.id = t.id),
    country.state = (SELECT t.state
                     FROM Patch_Country t
                     WHERE t.Rows = 1 AND tll.id = t.id)
FROM country tla WITH (NOLOCK)
INNER JOIN country2 tll ON tla.id = tll.id
WHERE tll.code = tla.code

Я попытался добавить внутреннее соединение в строки, все еще показывающие ошибку. Я не уверен, почему эта ошибка отображается.

Не удалось связать идентификатор из нескольких частей

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

Я думаю, что проблема этой ошибки в том, что вы неправильно использовали сокращения таблиц

попробуйте код ниже

UPDATE country SET postcode = (SELECT t.postcode FROM Patch_Country t WHERE t.Rows = 2 AND tll.id = t.id), state = (SELECT t.state FROM Patch_Country t WHERE t.Rows = 1 AND tll.id = t.id) FROM country tla WITH (NOLOCK) INNER JOIN country2 tll ON tla.id = tll.id WHERE tll.code = tla.code

0 голосов
/ 08 ноября 2019

Вы можете попробовать ниже:

UPDATE country
SET country.postcode = (CASE WHEN t.Rows = 2 THEN t.postcode END),
    country.state = (CASE WHEN t.Rows = 1 THEN t.state END)
FROM country tla 
INNER JOIN country2 tll ON tla.id = tll.id AND tll.code = tla.code
INNER JOIN Patch_Country t ON tll.id = t.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...