2011-12-28 34 views
1

一個記錄我有兩個表檢索去年的數據只有在上個月

USERTRANSACTION

我想選擇從TRANSACTION表中的數據爲過去的一年,如果USER所做的任何交易在上個月

USERTRANSACTION表使用USER_ID

如何ç連接它會實現嗎?交易

回答

1
select 
    trx_detail_1, 
    trx_detail_2 
from ( 
    select sum(
      case when trx_date > add_months(sysdate, -1) then 1 else 0 end 
     ) over (partition by user_id) sum_user_last_month, 
     trx_detail_1, 
     trx_detail_2 
    from 
     transaction 
    where 
     trx_date > add_months(sysdate, -12) 
) 
where 
    sum_user_last_month > 0; 
1

列表去年在過去一個月活躍用戶:

(你不需要USERS表)

SELECT * 
FROM 
TRANSACTIONS 
WHERE transaction_date > sysdate - interval '1' year 
    and user_id in 
    (select user_id 
    from TRANSACTIONS 
    where transaction_date > sysdate - interval '1' month); 
相關問題