我对使用 SQL 非常陌生,而且我之前找不到任何似乎可以回答我的问题的帖子。我需要一份声明,该声明将为我提供数据库中每个客户的最新批准提交以及与该提交相关的所有数据行/列。每个提交都分配有一个唯一的 ID 号,并位于名为 ASMT_ID 的列中。唯一的客户 ID 号是名为 PRTPT_ID 的列。
因此,对于数据库 T_FINANCIAL_ITEM 中的每个 PRTPT_ID,我想找到每个客户的 MAX ASMT_ID 并显示与每个 PRTPT_ID 关联的所有数据列和行,但前提是 STTS_NAME 等于“已批准”。
简单来说,我正在尝试做的事情:
select * from T_FINANCIAL_ITEM
For each PRTPT_ID SELECT MAX ASMT_ID
WHERE STTS_NAME = 'Approved'
GROUP by PRTPT_ID
*更新* 我需要分析同一个表 FYE_DT 和 SUBM_TYPE 中的另外两个字段,而不是使用 asmt_id。
标准是:
- stts_name 为“已批准”的最新 FYE_DT(即 2010 年之前的 2011 年)。
- 在最近的 fye_dt 中,审计的 subm_type
- 在最近的 fye_dt 中,如果他们是 no audited subm_type,则 unaudied subm_type
- 它将提取与提交符合条件的所有数据行
例如:
PRTPT_ID ASMT_ID FYE_DT SUBM_TYPE_NAME
8493000000 18016 30-JUN-09 12.00.00.000000000 AM Unaudited/A-133
8493000000 19574 30-JUN-09 12.00.00.000000000 AM Audited/A-133
8493000000 28039 30-JUN-10 12.00.00.000000000 AM Unaudited/A-133
8493000000 33620 30-JUN-10 12.00.00.000000000 AM Audited/A-133
9481000000 38049 31-DEC-10 12.00.00.000000000 AM Unaudited/Non-A133
9481000000 58020 31-DEC-09 12.00.00.000000000 AM Audited/Non-A-133
9481000000 48139 31-DEC-11 12.00.00.000000000 AM Unaudited/Non-A-133
结果:
PRTPT_ID ASMT_ID FYE_DT SUBM_TYPE_NAME
8493000000 33620 30-JUN-10 12.00.00.000000000 AM Audited/A-133
9481000000 48139 31-DEC-11 12.00.00.000000000 AM Unaudited/Non-A-133
注意:可以有与这些结果相关联的多行数据。我需要拥有所有的数据行。