躲不开的心痛 2018-07-24 07:45 采纳率: 0%
浏览 528
已采纳

运用存储过程和游标,帮我写一个查询的语句,最后输出结果,可以先不考虑笛卡尔积

Comm.serv:用户表
正常在用用户:state = 2HA
CDMA用户:product_id = 379
Serv_id:用户编码 acct_nbr:用户号码

Comm.serv_acct:账户用户关联关系表
有效数据 state='10A'
Acct_id:账户编码

Comm.acct:账户表
Acct_name:账户名称

Acct.acct_balance:余额表
Balance:余额

Acct.ACCT_ITEM_201805:5月费用表
Amount:费用
Acct.ACCT_ITEM_201806:6月费用表
Amount:费用

Bill.acct_item_aggr_11807:实时费用表(在billdb)
Charge 实时费用

Acct.acct_credit:信用度表
Credit_amount:信用度值

Sms_info:短信发送表
Id:唯一值,消息ID
Msisdn:电话号码
FLAG:SEND
MSG:短信内容
Get_date:短信发送时间
Send_date = get_date
其他字段填空

欠费=余额-4、5月份话费-实时话费-信用度

要求:
1、统计出来所有用户欠费金额,统计信息包括:账户名称 ,账户ID,用户ID,余额、4月份话费、5月份话费、实时话费、信用度、欠费金额
2、对于欠费的用户,发送短信。短信内容:“xxx您好,截止到yyyy-mm-dd hh24:mi:ss,您已经欠费xx元,请您及时缴费! ”图片说明

  • 写回答

2条回答

  • csdn_87 2018-07-25 07:03
    关注

    这不是一个普通的查询吗?
    短信 就是把欠费 小于0的插入到短信表里面

    select c.acct_name,c.acct_id,a.servd_id,d.balance,e.amount_5,f.amount_6,g.charge,h.credit_amount,
    d.balance - nvl(e.amount_5,0) - nvl(f.amount_6,0) - g.charge - h.credit_amount as Arrears
    from serv a
    join serv_acct b on (a.servd_id = b.servd_id and b.state = '10A')
    join acct c on (b.acct_id = c.acct_id)
    join balance d on (d.acct_id = b.acct_id)
    left join (select serv_id,sum(amount) as amount_5 from acct_item_201805 group by serv_id) e
    on (a.servd_id = e.servd_id)
    left join (select serv_id,sum(amount) as amount_6 from acct_item_201806 group by serv_id) f
    on (a.servd_id = f.servd_id)
    left join (select serv_id,sum(charge) as charge from acct_item_aggr_11807@bill_228 group by serv_id) g
    on (a.servd_id = g.servd_id)
    left join acct_credit h on (h.acct_id = b.acct_id)
    where a.state = '2HA'
    and a.product_id = '379';

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?