1

我正在尝试创建一个查询,该查询将为状态和 tier3ID 组合提取最新行,同时还显示其他三列。

EFFECTIVE_DATE|STATE|ELIGIBLE|INTONLY|AOPELIGIBLE|TIER3ID
01-JAN-05     | AK  | Yes    | No    | No        |1101
15-NOV-12     | IN  | Yes    | No    | No        |1101
01-JAN-05     | AZ  | Yes    | No    | No        |1101

我所尝试的一切都让我得到了数据组合,但除非我也按它们分组,否则我无法显示其他三行。

我基本上想要:

select state, tier3id, eligible,
max(effective_date)
from thirdtiereligibilityeq
group by state, tier3id, eligible

在符合条件的情况下,仅限AOPeligible于这些行并显示这些行。

4

1 回答 1

0

这是您要查找的查询:

SELECT T.*
FROM thirdtiereligibilityeq T
INNER JOIN (SELECT T2.state
                  ,T2.tier3id
                  ,MAX(T2.effective_date) AS [last_effective_date]
            FROM thirdtiereligibilityeq T2
            GROUP BY T2.state, T2.tier3id) L ON L.state = T.state
                                               AND L.tier3id = T.tier3id
                                               AND L.last_effective_date = T.effective_date

希望这会帮助你。

于 2014-09-05T09:32:34.000 回答