В чем ошибка в этом запросе на обновление? - PullRequest
0 голосов
/ 08 января 2010
UPDATE HotelSourceMap 
SET hsm.hotelid = co.hotelid 
FROM HotelSourceMap AS hsm 
JOIN hotels AS co 
ON (hsm.hotelname= co.[name] 
AND hsm.cityid = co.cityid)

Это дает мне ошибку: The multi-part identifier "hsm.hotelid" could not be bound.

Ответы [ 3 ]

3 голосов
/ 08 января 2010

Предполагая, что поле hotelid существует в таблице, попробуйте изменить:

UPDATE HotelSourceMap SET hsm.hotelid ...

до

UPDATE HotelSourceMap hsm SET hsm.hotelid ...

или альтернативно

UPDATE HotelSourceMap SET hotelid ...
1 голос
/ 08 января 2010

Попробуйте это: -

UPDATE 
    hsm
SET 
    hotelid = co.hotelid 
FROM 
    HotelSourceMap hsm,
    Hotels co
WHERE
  hsm.hotelname= co.[name] AND hsm.cityid = co.cityid

В своем основном заявлении вы говорите, что хотите обновить HotelSourceMap .

В вашем SET вы пытаетесь обновить поле, принадлежащее логически другому объекту, hsm .

0 голосов
/ 08 января 2010

Исправление, вам нужно использовать псевдоним в качестве таблицы ОБНОВЛЕНИЯ:

UPDATE hsm
SET....
FROM HotelSourceMap AS hsm
....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...