SQL的条件更新从Excel

我正在尝试更新我的数据库使用从Excel中提取更改的查询。

数据库将看起来像这样:

表价格表:

ID …… PriceID ……. Price …….. PriceWithTax

1 ……….. 1 …………….. 100 …………… 110

1 ……….. 2 …………… 90 …………….. 99

1 ……….. 3 …………… 80 …………….. 88

PriceID表示该项目可以有3个不同的价格(针对不同的客户)。

什么是Excel文件包含的是:

ItemCode ………描述……… Price1 ……. Price2 ……. Price3

ABCD ……………….牛排………….. 100 …………… 90 ………… 80

到目前为止,我可以更新1,但是我想在一个查询中完成。

这是我inputPrice1 Value的查询的第一部分 – 但它会更改所有值:

UPDATE dbo.PriceList SET PriceList.fExclPrice = Price1 FROM StockItem INNER JOIN PriceList ON StockItem.StockID = PriceList.StockID INNER JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\Update.xls;', 'SELECT ItemCode, Description, Price1 FROM [Update$]') ON StockItem.ItemCode COLLATE DATABASE_DEFAULT = ItemCode 

第二部分是这样的:

 UPDATE dbo.PriceList SET PriceList.fExclPrice = Price2 FROM StockItem INNER JOIN PriceList ON StockItem.StockID = PriceList.StockID INNER JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\Update.xls;', 'SELECT ItemCode, Description, Price2 FROM [Update$]') ON StockItem.ItemCode COLLATE DATABASE_DEFAULT = ItemCode Where PriceList.PriceID = 2 

最后一部分是PriceWithTax:

更新PriceList SET PriceWithTax = ROUND(fExclPrice * 1.14,2)

将这些组合成1个查询的最好方法是什么?

谢谢!