【发布时间】:2019-12-01 00:26:38
【问题描述】:
我在这方面基本上是个菜鸟,并且与 Google 搜索相差甚远。访问 VBA 和 SQL 库存数据库。
我有一张由条形码扫描仪填充的表格,如下所示;
PartNo | SerialNo | Qty | Vehicle
-------+----------+-----+---------
test | | 1 | H2
test2 | | 1 | H2
test3 | test3s/n | 1 | H2
test3 | test4s/n | 1 | H2
test | | 1 | H2
我正在尝试从中更新 2 个表,或者如果 PartNo 不存在则插入。
-
tblPerm2有PartNo作为主键 -
tblPerm1有PartNo、SerialNo、Qty和Vehicle -
PartNo必须存在于tblPerm2中才能添加到tblPerm1
我可以将PartNo 插入tblPerm2 没问题,但我遇到了tblPerm1 的问题。
我在这里关注用户 Parfait 的示例,Update Existing Access Records from CSV Import , native to MS Access or in VB.NET
我尝试了插入和插入,并带有连接。下面的代码将所有内容添加到tblPerm1,包括没有SerialNo 的行。如何仅插入 tblTemp 中具有序列号的行?
INSERT INTO tblPerm1 (PartNo, SerialNo, Qty, Vehicle)
SELECT tblTemp.PartNo, tblTemp.SerialNo, tblTemp.Qty, tblTemp.Vehicle
FROM tblTemp
WHERE tblTemp.SerialNo IS NOT NULL;
我希望这只会插入 2 个“test3”行,但会插入所有行。
SELECT DISTINCT 是一样的,但是'test'只有一个条目
完成后,我将从tblTemp 中删除并继续更新和插入。也许有更好的方法?
提前致谢
【问题讨论】:
标签: sql