我正在使用Peoplesoft查询管理器在人员中构建查询。
我试图从日期列中提取最近的日期。我已经尝试使用max()作为表达式,但是,查询不会提取任何记录。我已与另一位同事核对过,他们从未能够使用max()来记录记录。
拉出最新记录还有其他方法或解决方法吗?
所以我弄清楚为什么在子查询中使用Max时没有返回任何结果。更多的是因为我对PeopleSoft和SQL缺乏了解,因为我对它相对较新。当我将子查询中的日期列设置为最大值,以便将聚合用作与主查询中的日期列进行比较的条件时,我没有在子查询中创建任何条件。这意味着子查询将遍历所有员工的所有日期,除了我在提示中指定的员工,并返回与主查询中的员工的任何日期都不匹配且不返回任何人的值。通过在子查询中设置一个条件来解决这个问题,即在子查询中必须搜索的员工ID与在主查询中键入到提示中的员工ID相匹配
使用PSQuery时使用生效日期进行此类搜索。
使用生效日期以获取最新日期,max可能无法在PeopleSoft中正常运行。查询应该有效日期
PS Query内置了EFFDT表的过滤器。当您在EFFDT字段上添加条件时,“条件类型”字段上还有一些额外的下拉选项,如“Eff Date <”和“Eff Date <=”等。通常,当您创建有效的查询时日期表,PS Query将根据'Eff Date <='条件类型自动添加子查询。