我目前对SQL还是陌生的,我想知道这两个查询之间的主要区别是,为什么一个查询给我更多的记录和重复项,以及为什么另一个查询给我我想要的正确输出。 / p>
当前,这是我与此查询所需的输出。
class ABC{
class MyClass{}
static func get(){
let obj: MyClass = .init()
let cls1: (()->Void) = {
print(obj)
}
let cls2 = cls1
let cls3 = cls1
let count = CFGetRetainCount(obj)
print(count)
}
}
然后我将另一个进程级别添加到我的选择和分组依据中,然后得到更多的记录?我在这里想念什么?
SELECT
a.EMPLOYEE,
m.FIRST_NAME,
m.LAST_NAME,
m.PROCESS_LEVEL as PL_1
FROM
dbo.vw_PAEMPPOS a
join dbo.COMPLETE_EMPLOYEE_MASTER m on m.EMPLOYEE = a.EMPLOYEE
join dbo.HR_EMPUSERFIELDS s on s.EMPLOYEE = m.EMPLOYEE
WHERE END_DATE = '2099-12-31 00:00:00.000' and
EMP_STATUS NOT IN ('1A', 'RT', 'SZ', 'T1', 'XD', 'XV', 'ZZ')
GROUP BY
a.EMPLOYEE,
m.LAST_NAME,
m.FIRST_NAME,
m.PROCESS_LEVEL
答案 0 :(得分:0)
该问题的答案取决于vw_PAEMPPOS。在该视图中,每个员工可能有多个记录。要检查,您可以运行以下命令:
SELECT *
FROM vw_PAEMPPOS
WHERE Employee IN (
SELECT Employee
FROM vw_PAEMPPOS
GROUP BY Employee
HAVING COUNT(*) > 1
)