好的,这应该很容易。
举个例子, 我有一个表(表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)
有什么建议吗?提前谢谢!
答案 0 :(得分:1)
试试这个
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 :(得分:1)
insert into table1
SELECT TOP 1 Account#,trxdate,description,amount FROM table2
ORDER BY trxdate DESC;
答案 2 :(得分:0)
感谢您的回复!我对这个不好......我怀疑这可能是一个问题,但我不确定。
Table1上的TrxDate字段是DATE / TIME,Table2上的TrxDate是NUMERIC(LONG INT)。我正在使用一个函数将DATE / TIME值转换为WHERE NOT EXISTS的子查询部分中的Numeric。
显然这不起作用。我将这两个值都转换为NUMERIC并运行了我最初尝试的完全相同的查询并且它有效。呼!
再次感谢您的回复......如果我在这个问题上遇到更多问题,我肯定会尝试一下。