sql解惑 25 里程碑问题 答案

Posted chendian0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql解惑 25 里程碑问题 答案相关的知识,希望对你有一定的参考价值。

sql解惑 25 里程碑问题 答案

create
table servicesschedule( shop_id char(3) not null, order_nbr char(10) not null, sch_seq number not null check(sch_seq in (1,2,3)), service_type char(2) not null, sch_date date, primary key(shop_id,order_nbr,sch_seq)); drop table sch_seq; create table sch_seq_desc( sch_seq number not null, sch_desc varchar2(20) ); insert into sch_seq_desc values(1,processed); insert into sch_seq_desc values(2,completed); insert into sch_seq_desc values(3,confirmed); insert into servicesschedule values(002,4155526710,1,01,date1994-07-16); insert into servicesschedule values(002,4155526710,2,01,date1994-07-30); insert into servicesschedule values(002,4155526710,3,01,date1994-10-01); insert into servicesschedule values(002,4155526711,1,01,date1994-07-16); insert into servicesschedule values(002,4155526711,2,01,date1994-07-30); insert into servicesschedule values(002,4155526711,3,01,null); select * from sch_seq_desc; select * from servicesschedule; select a.order_nbr, min(case when sch_desc = processed then sch_date end) as processed, min(case when sch_desc = completed then sch_date end) as completed, min(case when sch_desc = confirmed then sch_date end) as confirmed from servicesschedule a,sch_seq_desc b where a.sch_seq=b.sch_seq and service_type= 01 group by order_nbr ; ============================================================================================== ============================================================================================== SQL> select * from servicesschedule; SHOP_I ORDER_NBR SCH_SEQ SERV SCH_DATE ------ -------------------- ---------- ---- ------------ 002 4155526710 1 01 16-JUL-94 002 4155526710 2 01 30-JUL-94 002 4155526710 3 01 01-OCT-94 002 4155526711 1 01 16-JUL-94 002 4155526711 2 01 30-JUL-94 002 4155526711 3 01 6 rows selected. select * from sch_seq_desc; SCH_SEQ SCH_DESC ---------- ---------------------------------------- 1 processed 2 completed 3 confirmed select a.order_nbr, min(case when sch_desc = processed then sch_date end) as processed, min(case when sch_desc = completed then sch_date end) as completed, min(case when sch_desc = confirmed then sch_date end) as confirmed from servicesschedule a,sch_seq_desc b where a.sch_seq=b.sch_seq and service_type= 01 group by order_nbr ; ORDER_NBR PROCESSED COMPLETED CONFIRMED -------------------- ------------ ------------ ------------ 4155526710 16-JUL-94 30-JUL-94 01-OCT-94 4155526711 16-JUL-94 30-JUL-94

 

以上是关于sql解惑 25 里程碑问题 答案的主要内容,如果未能解决你的问题,请参考以下文章

sql NS:里程碑状态图标

里程碑|BSV交易总量突破10亿笔

MY SQL8.0里程碑发布

在方向上每隔x Km添加里程碑(标记)

Xamarin.Forms - 使用 Xamarin.Essentials 在两个坐标之间获取里程

mysql数据库调优面试,绝了!你一直想要的数据库界的里程碑