新手在这里做一些事情complicated..not确定如何开始和什么是最好的way..looking的一些建议和提示
因此,我们有2个系统使用MS Dynamics POS 2009运行,并在电子表格中提取所有数据(库存/库存)。这两个dbo具有几乎相同的项目,但是因为它们是分开运行的,所以所有的命名和部件号都是不同的格式。
我需要创建一个数据库(一个excel文件)从这两个。零件编号的部分匹配将被识别并“合并”(保留sheet1中的零件编号和描述,并更新库存(sheet1库存+sheet2库存)
问题是部件号是以完全不同的风格(由不同的人)书写的,并且只能通过部分匹配(我猜部件号中的最后3-6个字符)来匹配。
我不是优秀的专家,所以任何建议和技巧将不胜感激。我还考虑将这些excel工作表加载到两个单独的SQL数据库中,并在SSMS中执行此操作,因为不确定excel是否可以处理此问题。
谢谢
发布于 2016-10-01 01:33:53
我不是100%确定源数据,但根据可用的信息,以下是一些可能的步骤:
在SSMS -Load中导入新数据库使用导入数据工具(就在新创建的数据库、任务、导入数据上)从excel中提取数据。这将弹出一个向导,将Excel电子表格转换为SQL server中的表格。对所有电子表格http://searchsqlserver.techtarget.com/feature/The-SQL-Server-Import-and-Export-Wizard-how-to-guide执行此操作
-You也许能够根据字符的开始/结束进行一些匹配,并使用MERGE语句来获取唯一数据。merge语句允许您设置匹配条件,然后根据正匹配或负匹配采取某些操作。例如,如果您的不同POS系统有两个不同的产品电子表格,其中有一些重叠,但也有一些产品是每个系统独有的,那么您可以从第一个系统的源表开始,如果有匹配,则只向其中插入另一个系统独有的产品。就像这样
使用右侧的ProductB B合并ProductA A(A.ProductID,5) = RIGHT(B.ProductID,5)如果与目标不匹配,则插入(ProductID,描述)值(b.ProductID,b.Description)
https://www.simple-talk.com/sql/learn-sql-server/the-merge-statement-in-sql-server-2008/
https://stackoverflow.com/questions/39796233
复制相似问题