根据日期追加新记录
Append new records base on date
我有一个 Combine table,我每天删除它并重新添加所有记录。我想要一个仅追加比最后日期更新的记录。
MS Access 查询是:
INSERT INTO combine ( date_c, purpose_F, login_name, channel_name_F, FCR_A, source, date_update, FCR_2G, FCR_W, [Year], [Month], [Day], quarter, [counter], agent_name, sup )
SELECT Fcr_all.date_c, Fcr_all.purpose, Fcr_all.login_name, Fcr_all.channel_name, Fcr_all.FCR_A, "FCR" AS source, Date() AS CURDATE, Fcr_all.FCR_2G, Fcr_all.FCR_W, Year([date_c]) AS Y, Month([date_c]) AS M, Day([date_c]) AS D, DatePart('q',[date_c]) AS Q, "1" AS [count], Roster.agent_name, Roster.Supervisor
FROM Fcr_all LEFT JOIN Roster ON Fcr_all.login_name = Roster.tCAM;
我有一种方法可以追加比最后日期更新的记录。记录日期字段是 date_c
例子
我有:
2015 年 4 月 1 日的 256 条记录,
2015 年 4 月 2 日的 800 条记录,
2015 年 4 月 3 日的 500 条记录,
-> 我想追加 2015 年 4 月 4 日和 2015 年 4 月 5 日的 900 条记录
最简单的方法是什么?
只需添加过滤 date_c
的 WHERE
子句,使其大于 combine
中的最大值 date_c
。
INSERT INTO combine ( date_c, purpose_F, login_name, channel_name_F, FCR_A, source, date_update, FCR_2G, FCR_W, [Year], [Month], [Day], quarter, [counter], agent_name, sup )
SELECT Fcr_all.date_c, Fcr_all.purpose, Fcr_all.login_name, Fcr_all.channel_name, Fcr_all.FCR_A, "FCR" AS source, Date() AS CURDATE, Fcr_all.FCR_2G, Fcr_all.FCR_W, Year([date_c]) AS Y, Month([date_c]) AS M, Day([date_c]) AS D, DatePart('q',[date_c]) AS Q, "1" AS [count], Roster.agent_name, Roster.Supervisor
FROM Fcr_all LEFT JOIN Roster ON Fcr_all.login_name = Roster.tCAM
WHERE date_c > (select MAX(date_c) from combine)
我有一个 Combine table,我每天删除它并重新添加所有记录。我想要一个仅追加比最后日期更新的记录。
MS Access 查询是:
INSERT INTO combine ( date_c, purpose_F, login_name, channel_name_F, FCR_A, source, date_update, FCR_2G, FCR_W, [Year], [Month], [Day], quarter, [counter], agent_name, sup )
SELECT Fcr_all.date_c, Fcr_all.purpose, Fcr_all.login_name, Fcr_all.channel_name, Fcr_all.FCR_A, "FCR" AS source, Date() AS CURDATE, Fcr_all.FCR_2G, Fcr_all.FCR_W, Year([date_c]) AS Y, Month([date_c]) AS M, Day([date_c]) AS D, DatePart('q',[date_c]) AS Q, "1" AS [count], Roster.agent_name, Roster.Supervisor
FROM Fcr_all LEFT JOIN Roster ON Fcr_all.login_name = Roster.tCAM;
我有一种方法可以追加比最后日期更新的记录。记录日期字段是 date_c
例子 我有: 2015 年 4 月 1 日的 256 条记录, 2015 年 4 月 2 日的 800 条记录, 2015 年 4 月 3 日的 500 条记录,
-> 我想追加 2015 年 4 月 4 日和 2015 年 4 月 5 日的 900 条记录
最简单的方法是什么?
只需添加过滤 date_c
的 WHERE
子句,使其大于 combine
中的最大值 date_c
。
INSERT INTO combine ( date_c, purpose_F, login_name, channel_name_F, FCR_A, source, date_update, FCR_2G, FCR_W, [Year], [Month], [Day], quarter, [counter], agent_name, sup )
SELECT Fcr_all.date_c, Fcr_all.purpose, Fcr_all.login_name, Fcr_all.channel_name, Fcr_all.FCR_A, "FCR" AS source, Date() AS CURDATE, Fcr_all.FCR_2G, Fcr_all.FCR_W, Year([date_c]) AS Y, Month([date_c]) AS M, Day([date_c]) AS D, DatePart('q',[date_c]) AS Q, "1" AS [count], Roster.agent_name, Roster.Supervisor
FROM Fcr_all LEFT JOIN Roster ON Fcr_all.login_name = Roster.tCAM
WHERE date_c > (select MAX(date_c) from combine)