1107课后作业

一、编写sql

有一款产品A,质保期是1年,1年质保期满之前,可以续保,续成功后再保1年,否则保障终止。该产品涉及以下3张数据表:

保单表policy(只要产生订单,就会落库 order_no字段,tm字段)

字段数据类型描述
order_novarchar2订单号
tmdate下单时间

投保人表policyholder(只要产生订单,就会落库 order_no字段,phone字段)

字段数据类型描述
order_novarchar2订单号
phonevarchar2投保人手机号

续保表renewal(只要产生订单,就会落库 order_no字段)
若用户不续保,则order_no对应的renewal字段一直为空。
若用户续保,则在order_no对应的renewal字段里落库新一年的续保订单号,并且保单表也会同步落新的订单号order_no以及对应的出单时间tm;

字段数据类型描述
order_novarchar2原订单号
renewal_novarchar2续保订单号

1、查询21年10月产生续保操作的订单有哪些?

select t1.renewal_no  
from renewal t1
inner join policy t2
        on t1.order_no = t2.order_no
       and to_char(t2.tm,'yyyymm') = '202110';
where t1.renewal_no is not null;

2、查询22年10月出的单中哪些是续保订单,以及续保时间

select t2.order_no
      ,t2.tm  
from renewal t1
inner join policy t2
        on t1.renewal_no = t2.order_no
       and to_char(t2.tm,'yyyymm') = '202110';

3、查询21年10月份出单的该产品A的订单号,投保人手机号,是否完成续保

select t1.order_no
      ,t2.phone 
      ,case when t3.renewal_no is not null then "是"
            else "否" 
       end as "是否完成续保"
from policy t1
inner join policyholder t2
        on to_char(t1.tm,'yyyymm') = '202110'
       and t1.order_no = t2.order_no
inner join renewal t3
        on t1.order_no = t3.order_no         

二、编写shell脚本

创建一个shell ,完成以下功能:
判断第一个参数传入的文件是否存在,
若不存在,则创建对应文件,并授予文件属主有 执行 权限

#!/bin/bash
if [ -f $1 ]
  then
    echo $1" 该文件已存在"
else
  touch $1
  chmod u+x $1
  echo "已创建 "$1" 并赋予属主执行权限"
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只会HelloWorld的华娃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值