【发布时间】:2016-07-06 00:52:45
【问题描述】:
我正在尝试创建一个审核报告,该报告采用呼叫日志数据 [表 1] 并将其与时间表数据 [表 2] 进行比较。如果有与时间表数据 [表 2] 匹配的通话记录数据 [表 1] 的记录,我需要一个简单的查询来返回“OK”。
表 1
Date Project Code Amount Employee
11/2/15 30018 250 Tom Thompson
11/2/15 30018 500 John Johnson
11/2/15 20018 500 Jane Doe
表 2
Project Code Project Name Employee Hours Dates
30012 A Jane Doe 4 11/2/15
3200 B Jane Doe 2 11/2/15
4 C Jane Doe 1 11/2/15
20018 D Jane Doe 1 11/2/15
4 C John Johnson 6 11/2/15
我在 R 中使用 sqldf 包,运行以下命令:
test2 = sqldf("
SELECT a.*,
CASE
WHEN
a.Name = b.employee and a.Date=b.Dates AND
a.Project like b.ProjectCode
THEN 'Okay'
ELSE 'Flag'
END 'Audit'
FROM Table_1 as a, Table_2 as b
WHERE a.Name = b.employee
GROUP BY a.Name
")
这不会返回我需要的东西。维护 SQL 逻辑我想连接表 2(或分组依据)以产生:
Project Code Employee Dates
30012, 3200, 4, 20018 Jane Doe 11/2/15
我的想法是,我可以在上面的 case 语句中使用“like”语句,它会起作用。
【问题讨论】:
-
我没有得到第一个表的角色。根本不使用
Table_1就不能获得输出吗?