2012-03-14 60 views
-1

我试图使用merge功能首次在SQL Server 2008,如下所示:合并错误 - SQL

MERGE PriceFeed AS t 
USING Products AS src 
ON t.sku = src.sku 

WHEN MATCHED THEN 
    UPDATE 
    SET src.price = t.price 
; 

但我得到的错误"The multi-part identifier "src.price" could not be bound.",不知道为什么,在这种情况下?

馈送数据中的sku与产品表中的sku匹配。

+0

您是否在uv产品表中列出价格栏? – Teja 2012-03-14 17:22:41

+0

@Venk是这里有两个表中的价格列 – user1186144 2012-03-14 17:23:20

+2

从http://msdn.microsoft.com/en-us/library/bb522522.aspx,您可能需要更正您放置表的顺序:' MERGE Target AS T 使用源代码S' – diaho 2012-03-14 17:25:46

回答

0
MERGE PriceFeed AS t 
USING Products AS src 
ON t.sku = src.sku 

WHEN MATCHED THEN 
    UPDATE 
    SET t.price = src.price 
; 

检查MERGE语法在这里..它很好地解释了这里的例子。

http://blog.sqlauthority.com/2008/08/28/sql-server-2008-introduction-to-merge-statement-one-statement-for-insert-update-delete/

+0

这是否正在寻找...你正在设置源列与你的目标列..它应该是其他方式.. – Teja 2012-03-14 17:25:08

+0

哈容易修复,我认为它看起来是正确的设置src等于t(饲料)表,但反过来,因为你建议的作品?! – user1186144 2012-03-14 17:27:13

+0

接受我的答案,如果你喜欢它.. – Teja 2012-03-14 17:29:14