从动态临时表追加

时间:2017-09-11 09:52:28

标签: sql ms-access append

之前可能已经问过这个问题了,但是我已经花了相当多的时间寻找答案而没有成功......因为我对此很新,答案可能就在那里,但我没有认出来。< / p>

我在csv中获取原始数据,向我显示我们的代理人在某些状态(休息,电子邮件,会议,午餐......)上花费的时间。每个状态都会有一列。

我将此csv导入到访问的临时表格中,我将其附加到主表格。我必须每天做几次。

问题是,在早上,如果没有代理人进入午餐状态,该列将不在csv文件中。如果使用它们,列将仅在那里。因此,当我尝试追加它时,它会给出一个错误并要求该列的参数值。

这是访问中的附加代码:

INSERT INTO T0_Reason_codes ( [DATE], AGENT, [AGENT FIRST NAME], [AGENT LAST NAME], [AGENT EMAIL], [HOUR], [Break / AGENT STATE TIME], [Casenotes / AGENT STATE TIME], [Email / AGENT STATE TIME], [Lunch / AGENT STATE TIME], [Project / AGENT STATE TIME], [Remote Session / AGENT STATE TIME], [Training / AGENT STATE TIME] )

SELECT Q0_Reason_Codes.DATE, Q0_Reason_Codes.AGENT, Q0_Reason_Codes.[AGENT FIRST NAME], Q0_Reason_Codes.[AGENT LAST NAME], Q0_Reason_Codes.[AGENT EMAIL], Q0_Reason_Codes.HOUR, Q0_Reason_codes.[Break / AGENT STATE TIME], Q0_Reason_Codes.[Casenotes / AGENT STATE TIME], Q0_Reason_Codes.[Email / AGENT STATE TIME], Q0_Reason_codes.[Lunch / AGENT STATE TIME], Q0_Reason_Codes.[Project / AGENT STATE TIME], Q0_Reason_codes.[Remote Session / AGENT STATE TIME], Q0_Reason_Codes.[Training / AGENT STATE TIME]

FROM Q0_Reason_Codes LEFT JOIN T0_Reason_codes ON (Q0_Reason_Codes.[date] = T0_Reason_codes.[date]) AND (Q0_Reason_Codes.[hour] = T0_Reason_codes.[hour]) AND (Q0_Reason_Codes.[agent] = T0_Reason_codes.[agent])

WHERE (((([T0_reason_codes].[date] Is Null) And [T0_Reason_codes].[agent] Is Null And [T0_Reason_codes].[hour]) Is Null));

我能想到的唯一解决方法是,在excel中编写一个脚本来检查列是否存在,如果不存在则创建它。

有更好的方法吗?

0 个答案:

没有答案