2017-06-19 37 views
0

这是我的查询。未到达最新日期的使用日期参数

AND PTP.END_DATE = (Select MAX(END_DATE) FROM PAY_TIME_PERIODS WHERE END_DATE <=:to_date)-- Parameter 

我试图从表中获取最新的结束日期,但没有得到所有人的最新日期只获得了几个人。

如果您有任何想法,请帮助我

+1

这不能是你的查询。没有以“AND”开头的有效查询。显示完整查询,并描述从中查询数据的表格以及所需的结果。你解释了大部分理想的结果;在这方面:如果对于给定的人,如果有两行具有相同的最新日期,那么应该优先考虑? (或返回所有这些行?) – mathguy

+1

** [**]您的问题,并为有问题的表添加'create table'语句,一些示例数据和基于该数据的预期输出。 [**格式化文本**](http://stackoverflow.com/help/formatting)请,[无屏幕截图](http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload图像-的代码上那么当-要价-A-问题/ 285557#285557)。请勿在注释中张贴代码或其他信息 –

回答

0

这可能不是编写查询的最好办法,但你没有提供太多的信息。

你的子查询,似乎需要相关条款:

PTP.END_DATE = (SELECT MAX(END_DATE) 
       FROM PAY_TIME_PERIODS PTP2 
       WHERE PTP2.?? = PTP.?? AND END_DATE <=:to_date 
       )-- Parameter 

??是任何列在表中标识的人。

+0

我应该给什么? – Babu

+2

@Babu - 您的tabe中的唯一列。子查询的这一部分是将它与主要查询关联起来。基本上你是说*哪一个*你想找到每一行的最大日期。 –