2010-01-08 54 views
0
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

假设领域hotelid存在于表中尝试改变:

UPDATE HotelSourceMap SET hsm.hotelid ... 

UPDATE HotelSourceMap hsm SET hsm.hotelid ... 

或可替代

UPDATE HotelSourceMap SET hotelid ... 
+0

wow..exactly我想要什么?其工作GR8 .... UPDATE HSM SET hsm.hotelid = CO .hotelid 来自HotelSourceMap AS hsm JOIN酒店AS公司 ON hsm.hotelname = co。[name] AND hsm.cityid = co.cityid – 2010-01-08 09:59:53

0

校正,您需要使用别名作为更新表:

UPDATE hsm 
SET.... 
FROM HotelSourceMap AS hsm 
.... 
+0

无这是他们的...... – 2010-01-08 09:54:55

+0

hotelid领域存在Hotelsourcemap表... – 2010-01-08 09:55:41

1

试试这个: -

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

非常感谢它的工作,但请告诉我告诉我什么是我的查询错误.. – 2010-01-08 09:57:34

+0

已回答了查询。让我知道你是否需要更多的澄清。 – 2010-01-08 10:04:08