合并两个不同的电子表格数据库数据

时间:2016-09-30 16:38:31

标签: sql database excel

新手在这里处理一些有点复杂的事情......不确定如何开始和最好的方式..寻找一些建议和提示

因此,我们使用MS Dynamics POS 2009运行2个系统,并在电子表格中提取所有数据(库存/库存)。两个dbo都有相同的项目,但因为它们已经单独运行,所有命名和部件号​​都采用不同的格式。

我需要从两者创建一个数据库(一个excel文件)。如果部件编号的部分匹配将被识别并“合并”(保持部件编号和描述来自sheet1并更新库存(sheet1库存+库存来自sheet2)

问题在于,部件编号是以完全不同的样式(由不同的人)编写的,并且只能通过某种部分匹配匹配(我猜部件编号中的最后3-6个字符)

我不是专家,所以任何建议和提示将不胜感激。 还有想法将这些excel表加载到2个单独的SQL数据库中,并从SSMS中进行操作,因为不确定excel是否可以应对这个

由于

1 个答案:

答案 0 :(得分:0)

我不是100%确定源数据,但根据可用信息,这里有一些可能的步骤:

在SSMS中创建一个新数据库 - 使用导入数据工具在excel数据提取中加载数据(在新创建的数据库,任务,导入数据上右键)。这个 将启动一个向导,将Excel电子表格转换为SQL Server中的表格。对所有电子表格执行此操作 http://searchsqlserver.techtarget.com/feature/The-SQL-Server-Import-and-Export-Wizard-how-to-guide

- 您可以根据字符的开头/结尾进行一些匹配,并使用MERGE语句来获取唯一数据。合并声明 允许您设置匹配条件,然后根据正面或负面匹配采取某些操作。例如,如果您的POS不同 系统有两个不同的产品电子表格,其中有一些重叠,但也有一些产品是每个系统独有的,你可以从第一个系统的源表开始,只插入其他系统独有的产品,如果有一场比赛什么都不做。像

这样的东西

MERGE ProductA A. 使用ProductB B. 在右边(A.ProductID,5)=右(B.ProductID,5) 当没有与目标相匹配时 INSERT(ProductID,Descrption) VALUES(b.ProductID,b.Description)

https://www.simple-talk.com/sql/learn-sql-server/the-merge-statement-in-sql-server-2008/