我有两张桌子
USER
和TRANSACTION
如果TRANSACTION
在上个月进行了任何交易,我想从USER
表中选择最近一年的数据
USER
和TRANSACTION
表格使用USER_ID
如何实现?
答案 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);
答案 1 :(得分: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;