我對於使用SQL非常新,而且我一直無法找到似乎回答我的問題的任何以前的帖子。我需要一份聲明,該聲明將爲我提供數據庫中每個客戶的最新批准提交以及與該提交相關聯的所有行/列數據。每個提交都被分配一個唯一的ID號,並且位於一個名爲ASMT_ID的列中。唯一的客戶ID號碼是一個名爲PRTPT_ID的列。SQL開發人員爲每個ID選擇最大記錄和整行
因此,對於數據庫T_FINANCIAL_ITEM中的每個PRTPT_ID,我希望爲每個客戶找到MAX ASMT_ID,並顯示與每個PRTPT_ID相關的所有列和行數據,但前提是STTS_NAME等於「Approved」。
在我簡單的說我想要做的事:
select * from T_FINANCIAL_ITEM
For each PRTPT_ID SELECT MAX ASMT_ID
WHERE STTS_NAME = 'Approved'
GROUP by PRTPT_ID
* UPDATE * 而不是使用asmt_id,我將需要分析在同一個表FYE_DT其他兩個字段和SUBM_TYPE。
的標準是:
- 最近FYE_DT與 '已批准'(即2011 2010之前)一個stts_name。
- 在最近fye_dt,經審計的subm_type
- 在最近fye_dt,如果他們沒有審計subm_type,未經審計的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
注意:可能有多行數據與這些結果相關聯。我需要擁有所有的數據行。
你使用什麼數據庫?標題中的「SQL Developer」是否暗示您正在使用Oracle數據庫和Oracle SQL Developer前端? – 2012-04-09 17:37:01
SQL有哪些風味? MSSQL/MYSQL /甲骨文等? – Bridge 2012-04-09 17:37:03
@JustinCave是的,我使用的Oracle SQL Developer前端 – 2012-04-09 18:18:29