【发布时间】:2018-01-18 15:13:02
【问题描述】:
我一直在互联网上试图找到解决方案,但对于我的生活,我无法理解它。
我在 Excel 中有 3 组数据,我们将它们称为(旧、新、其他)它们都包含相同的列标题。该信息是用于制造过程的路由数据。例如。要制作库存项目 21632,我们执行以下操作:
<table class="tableizer-table">
<thead><tr class="tableizer-firstrow"><th>Part No.</th><th>Op. No.</th><th>Operation Name</th><th>Real Op Time Per Item</th><th>Resource Group</th><th>Setup Time</th></tr></thead><tbody>
<tr><td>21632</td><td>10</td><td>Issue Mat'l</td><td>15</td><td>STORES</td><td>0</td></tr>
<tr><td>21632</td><td>20</td><td>Rough out and part off</td><td>210</td><td>3/C4</td><td>90</td></tr>
<tr><td>21632</td><td>30</td><td>Finish M/c</td><td>90</td><td>CNCLAT LC3</td><td>90</td></tr>
<tr><td>21632</td><td>40</td><td>Inspect</td><td>5</td><td>INSPECT</td><td>0</td></tr>
<tr><td>21632</td><td>45</td><td>NDE </td><td>40</td><td>NDE</td><td>0</td></tr>
<tr><td>21632</td><td>50</td><td>MARK</td><td>10</td><td>MARK</td><td>5</td></tr>
<tr><td>21632</td><td>70</td><td>Final inspection</td><td>7</td><td>INSPECT</td><td>0</td></tr>
</tbody></table>
这 3 个电子表格各有大约 20k 行,我想合并/覆盖它们 New > Other > Old by row by the PSTK column(每个 PSTK 将出现多次)。
我已将所有数据导入 Access 到 3 个表中,以尝试在它们上运行一些 SQL。
我尝试在它们上运行 union:
select * from Old union select * from New,但它只是合并所有内容,因为沿行的数据可能不同。
试图简化我想做的是:
用新表合并/覆盖旧表。如果 NEW 表中的任何 PSTK 出现在 OLD 表中,我想覆盖 NEW 表中的整行。如果没有出现,我只想添加它。
我希望这是有道理的。
表信息:OLD、NEW、OTHER 列标题:(ID),line,pstk,Setup Time,runt,desc1,ml_type
【问题讨论】:
标签: sql ms-access merge overwrite