wxliangzyt 2023-06-26 16:53 采纳率: 0%
浏览 28

oracle 查询流水表中,某一天的值,SQL要怎么写了

create table 会员积分表
(
会员ID varchar2(50),会员余额 number(16,2)
);
create table 会员消费表
(
会员ID varchar2(50),
日期 date,
消费金额 number(16,2),
会员余额 number(16,2)
);
insert into 会员积分表(会员ID,会员余额) values (1,1000);--比如:2020-01-01充了1000元
insert into 会员消费表(会员ID,日期,消费金额,会员余额) values (1,'2021-01-01',10,990);
insert into 会员消费表(会员ID,日期,消费金额,会员余额) values (1,'2021-02-03',10,980);
insert into 会员消费表(会员ID,日期,消费金额,会员余额) values (1,'2021-06-01',10,970);
insert into 会员消费表(会员ID,日期,消费金额,会员余额) values (1,'2023-04-11',10,960);

要求:查询某一天会员的余额,比如客户要看2022-01-01这表的余额,像这种表结构的设计要怎么写SQL,才能从消费流水表中,查询出指定日期的会员余额了

  • 写回答

2条回答 默认 最新

  • necessary653 2023-06-26 23:04
    关注

    SELECT 会员消费表.日期, 会员积分表.会员余额 - SUM(会员消费表.消费金额) OVER (ORDER BY 会员消费表.日期) AS 余额
    FROM 会员积分表
    JOIN 会员消费表 ON 会员积分表.会员ID = 会员消费表.会员ID
    WHERE 会员积分表.会员ID = '1'
    and 日期 = 指定日期
    ORDER BY 会员消费表.日期

    评论

报告相同问题?

问题事件

  • 创建了问题 6月26日