日期:2014-05-17 浏览次数:21100 次
--庫別表 create table lm_sic_def ( sic varchar2(10) not null,--庫別 repair_times number(3)--維修类型,结果为1或2,也可能为空,1代表1修,2代表2修。 ) --单据表 create table wip_bill_in_master ( company varchar2(10) not null,--投递公司编号 bill_No varchar2(50) not null,--投递EK單编号 sic varchar2(10),--库别 part_No varchar2(20) not null,--物料編號 last_sign_date date not null, --投递日期 status varchar2(5) not null,--EK单的状态,C表示已完结 repair_times number(2)--维修类型,(该字段为第一题新增的字段) ) --投递详细信息表 create table wip_in_out_info ( sn varchar2(10) not null,--序列号 in_corp varchar2(10) not null,--投递公司编号 in_bill_no varchar2(50) not null,--投递EK单编号 in_bill_pn varchar2(20) not null,--物料编号 out_attr varchar2(5) not null,--入库状态,G为好库,B为坏库 repair_status varchar2(5) not null--板子的维修状态 ) --物料信息表 create table mgs_pn ( part_no varchar2(20) not null,--物料编号 BU_CATEGORY varchar2(30) not null,--物料种类 division varchar2(10) not null,--物料部门,(表示A种类的物料分配到B部门,B种类的物料分配到C,C 种类的物料分配到A部门,这个字段只是一个编号引用物料部门表) ) --表关系如下面语句 select * from wip_bill_in_master a,wip_in_out_info b,mgs_pn c where a.company=b.in_corp and a.bill_no=b.in_bill_no and a.part_no=b.in_bill_pn and a.part_no=c.part_no --业务说明:1.公司进行一部分维修业务,工程師所維修的板子都是由库房領出以EK单投递之后流入到工程 師的手中,工程師经过維修把維修好的板子入好库,未維修好的板子入坏库。工程師被分为兩組(1修工程 師,2修工程師),1修工程師對首次來的板子进行简单的維修,2修工程師对难板進行維修。 --2.投递的EK单按库别分為1修和2修,表lm_sic_def 定义所有的库别,SIC为库别,REPAIR_TIMES為維修类 型。 --3.投递的单据保存在表wip_bill_in_master中,根据库別定义可以得出某一投递的EK单属于1修還是2修。 其中status='C'表明此EK单以完結。表wip_in_out_info记录了投递的具体信息,每一条记录记录了一片板 子。其中out_attr表明入库的状态‘G’表明入好库‘B’表明入坏库。repair_status表明该板子的維修状 态。SN 为板子的序列号。 --4.表mgs_pn 記錄了所有物料的信息
--解1: update wip_bill_in_master m set m.repair_times = (select d.repair_times from lm_sic_def d where m.sic = d.sic and rownum=1) where exists (select 1 from lm_sic_def d where d.sic = m.sic) --第2种写法靠大家了 --解2:?
--题2查询结果如下格式,如: BU_CATEGORY DIVISION MONTH FIRST_RATE SECOND_RATE CSBU MIC 042006 83 0 CSBU MIC 052006 8 23 CSBU MIC 062006 7 15 CSBU MIC 072006 73 34 ESBU MIC 042006 76 37 ESBU MIC 052006 72 23 ESBU MIC 062006 73 13 ESBU MIC 072006 74 18 MBU MIC 042006 5 0 MBU MIC 062006 63 0 PBU MTC 042006 78 52 PBU MTC 052006 78 3 PBU MTC 062006 72 0 PBU MTC 072006 77 0 WBU MDS 042006 0 41 WBU MDS 072006 0 95