簡體   English   中英

顯示當月的數據

[英]Display data for current month

我想顯示當月雇員表中的雇員日薪詳細信息。

例如:月份將顯示為“當前日期-1”。 (如果當前日期為2014年6月18日,則顯示月份數據為2014年6月1日至2014年6月17日。類似地,如果當前日期為2014年6月1日,則顯示月份數據從2014年5月1日到2014年5月31日)

請幫助我如何編寫上述要求的查詢。

提前致謝

我想你應該有這樣的東西:

表雇員:

| EMP_ID | NAME | ...

表EMPLOYEE_DETAIL:

| WAGE_DATE | EMP_ID | AMOUNT | ...

所以這應該像:

select D.EMP_ID, E.NAME, trunc(D.WAGE_DATE), sum(AMOUNT) WAGE_AMOUNT
from EMPLOYEE_DETAIL D
inner join EMPLOYEE E on (E.EMP_ID = D.EMP_ID)
where trunc(D.WAGE_DATE, 'MON') = trunc(sysdate, 'MON') -- Only on current month
group by D.EMP_ID, E.NAME, trunc(D.WAGE_DATE)

編輯:如果您需要上個月的數據,則可以執行以下操作:

where trunc(D.WAGE_DATE, 'MON') = trunc(add_months(sysdate, -1), 'MON')

代替。 如果您只想在當月的第一天獲得前一個月的數據,則可以執行以下操作:

where trunc(D.WAGE_DATE, 'MON') = case when trunc(sysdate) = trunc(sysdate, 'MON')
                                       then trunc(add_months(sysdate, -1), 'MON')
                                       else trunc(sysdate, 'MON')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM