我需要将数据导入sql表,按列A查找行,并将列B和C放入行中的特定数据列。
我的excel / CSV文件类似于:
Code,Unit,Price
1234,Pack10,1.20
4567,Each,3.40
我的表类似于
ItemID Code Name ItemPrice Unit Supplier LastCost SellBy QtyStock Inactive
我需要从电子表格中的行更新表格,找到代码行并替换Unit和ItemPrice列。
我尝试过使用标准导入数据,但无法查看如何查找代码,然后插入必填字段。
任何帮助或指向我能找到答案的地方都将非常感激。
答案 0 :(得分:0)
将问题分解为两个较小的步骤...首先,只执行标准导入数据,并将excel文件的内容放入SQL表中。导入数据后,只执行标准SQL更新语句,将导入的表和现有表连接在一起,以更新现有表。
UPDATE e
SET
Unit = i.Unit,
ItemPrice = i.Price
FROM
ExistingTable e JOIN
ImportedTable i ON i.Code = e.Code
答案 1 :(得分:0)
要一步完成,您可以使用OPENROWSET
,如下所示:
UPDATE A
SET [ItemPrice] = B.Price,
[Unit] = b.Unit
FROM [SO].[dbo].[PricesTbl] A INNER JOIN
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\Prices.xls', 'SELECT * FROM [Sheet1$]') B ON A.CODE=B.CODE