好的,这应该很简单。
例如,我有一个表(表1),其中填充了以下记录:
Account# TrxDate Description Amount
123456 20130719 trx-1 500.00
123456 20130819 trx-2 500.00我有第二个表(表2),其中填充了以下记录:
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来做这件事,但这并不能完成工作。
下面是我尝试的一个例子,但没有奏效:
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)有什么建议吗?提前感谢!
发布于 2013-11-07 14:33:23
尝尝这个
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发布于 2013-11-07 14:37:58
insert into table1
SELECT TOP 1 Account#,trxdate,description,amount FROM table2
ORDER BY trxdate DESC;发布于 2013-11-07 14:55:38
感谢您的回复!我在这件事上的错误...我怀疑这可能是一个问题,但我不确定。
Table1上的TrxDate字段是DATE/TIME,而Table2上的TrxDate是数字(长整型)。我在WHERE NOT EXISTS的子查询部分中使用了一个函数将日期/时间值转换为数字。
显然这不管用。我将这两个值都转换为数字,并运行了我最初尝试过的完全相同的查询,它起作用了。呼!
再次感谢您的回复……如果我在这个问题上遇到更多的问题,我肯定会试一试。
https://stackoverflow.com/questions/19829149
复制相似问题