首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从一个表中添加另一个表中缺失的记录: MS Access

如何从一个表中添加另一个表中缺失的记录: MS Access
EN

Stack Overflow用户
提问于 2013-11-07 14:11:46
回答 3查看 1.8K关注 0票数 0

好的,这应该很简单。

例如,我有一个表(表1),其中填充了以下记录:

代码语言:javascript
复制
Account#  TrxDate  Description  Amount
123456    20130719  trx-1       500.00
123456    20130819  trx-2       500.00

我有第二个表(表2),其中填充了以下记录:

代码语言:javascript
复制
Account#  TrxDate  Description  Amount
123456    20130719  trx-A       500.00
123456    20130819  trx-B       500.00
123456    20130919  trx-C       500.00

我想将表2中的最后一条记录添加到表1中。

我认为我可以使用WHERE NOT EXISTS来做这件事,但这并不能完成工作。

下面是我尝试的一个例子,但没有奏效:

代码语言:javascript
复制
INSERT INTO Table1 (Account#, TrxDate, Description, Amount)
SELECT Account#, TrxDate, Description, Amount
FROM Table2
WHERE NOT EXISTS
(SELECT * FROM Table1 WHERE Table1.Account# = Table2.Account# AND Table1.TrxDate = Table2.TrxDate AND Table1.Amount = Table2.Amount)

有什么建议吗?提前感谢!

EN

回答 3

Stack Overflow用户

发布于 2013-11-07 14:33:23

尝尝这个

代码语言:javascript
复制
insert into Table_1
select Table_2.* from Table_1 
right outer join Table_2 on Table_1.Account#=Table_2.Account# and Table_1.TrxDate=Table_2.TrxDate and Table_1.Amount=Table_2.Amount
where Table_1.Account# is null
票数 1
EN

Stack Overflow用户

发布于 2013-11-07 14:37:58

代码语言:javascript
复制
insert into table1 
SELECT TOP 1 Account#,trxdate,description,amount FROM table2
ORDER BY trxdate DESC;
票数 1
EN

Stack Overflow用户

发布于 2013-11-07 14:55:38

感谢您的回复!我在这件事上的错误...我怀疑这可能是一个问题,但我不确定。

Table1上的TrxDate字段是DATE/TIME,而Table2上的TrxDate是数字(长整型)。我在WHERE NOT EXISTS的子查询部分中使用了一个函数将日期/时间值转换为数字。

显然这不管用。我将这两个值都转换为数字,并运行了我最初尝试过的完全相同的查询,它起作用了。呼!

再次感谢您的回复……如果我在这个问题上遇到更多的问题,我肯定会试一试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19829149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档