日期:2014-05-17  浏览次数:20885 次

oracle sql语句
select * from ( 
 select 住院号 as 标识号,姓名,性别,年龄,状态,接收人,接收时间 ,样本条码,开嘱科室,检验人,审核人,wm_concat(检验项目) as 检验项目 from 
 (select distinct e.病人id, e.姓名, e.性别, e.年龄, e.门诊号, e.住院号, a.医嘱内容 as 检验项目, decode(b.医嘱id, null, '1-未发送', 
 decode(b.采样人, Null, '2-未采样', decode(b.接收人, null, '已采样', '未上机'))) as 状态, b.接收人, b.接收时间, b.样本条码,d.名称 as 开嘱科室, a.开嘱医生, 
 a.开嘱时间, b.发送人, b.发送时间, b.采样人, b.采样时间, '' as 检验人, '' as 检验时间, '' as 审核人, '' as 审核时间, a.id as 医嘱Id, '' as 标本ID,
 b.记录性质,a.婴儿,e.性别 as 性别1,e.年龄 as 年龄1,  '' as 标本序号显示, '' as 标本序号  
 from 病人医嘱记录 a, 病人医嘱发送 b, 部门表 d ,病人信息 e,诊疗项目目录 K,诊疗检验类型 H  
 where a.id = b.医嘱id(+) and a.开嘱科室id = d.id and a.病人id = e.病人id and b.执行状态 = 0 and a.诊疗类别 = 'C' and a.病人来源 = 2 
 and a.诊疗项目ID =K.Id and  K.操作类型 = H.名称 and H.编码 ='09'

 union all  
 select  distinct e.病人id, e.姓名, e.性别, e.年龄, e.门诊号, e.住院号, a.检验项目, decode(样本状态, 1, '5-已上机', decode(sign(nvl(打印次数, 0)),
 1, '已打印', '已审核')) as 状态, 
 d.接收人, d.接收时间, d.样本条码,f.名称 as 开嘱科室, b.开嘱医生, b.开嘱时间, d.发送人, d.发送时间, d.采样人, d.采样时间, a.检验人, 
 to_char(a.检验时间,'YYYY-MM-DD HH24:MI:SS') as 检验时间, a.审核人, to_char(a.审核时间,'YYYY-MM-DD HH24:MI:SS') as 审核时间, a.医嘱ID, 
 to_char(a.ID) as 标本ID, d.记录性质,b.婴儿,a.性别 as 性别1,a.年龄 as 年龄1,  
 Decode(a.仪器id, Null, To_Char(Trunc(a.标本序号 / 10000) + 1, '0000') || '-' || To_Char(Mod(a.标本序号, 10000), '0000'),
 a.标本序号) As 标本序号显示, a.标本序号  from 检验标本记录 a, 病人医嘱记录 b, 病人医嘱发送 d, 部门表 f ,病人信息 e ,诊疗项目目录 K,诊疗检验类型 H
 where a.医嘱id = b.相关id and b.相关id = d.医嘱id and b.开嘱科室ID = f.id  and d.接收时间 between to_date('2012-11-01 00:00:00','yyyy-mm-dd hh24:mi:ss')
 and to_date('2012-11-02 00:00:00','yyyy-mm-dd hh24:mi:ss') and a.病人id = e.病人id And a.病人来源 = 2  and b.诊疗项目ID =K.Id and  K.操作类型 = H.名称  ) a  
 group by  住院号,姓名,性别,年龄,状态,接收人,接收时间,样本条码,开嘱科室,检验人,审核人

 union 
 select 门诊号 as 标识号,姓名,性别,年龄,状态,接收人,接收时间,样本条码,开嘱科室,检验人,审核人,wm_concat(检验项目) as 检验项目 from
 (select distinct e.病人id, e.姓名, e.性别, e.年龄, e.门诊号, e.住院号, a.医嘱内容 as 检验项目, 
 decode(b.医嘱id, null, '1-未发送', decode(b.采样人, Null, '2-未采样', decode(b.接收人, null, '3-已采样', '4-未上机'))) as 状态,
 b.接收人, b.接收时间, b.样本条码, d.名称 as 开嘱科室, a.开嘱医生, a.开嘱时间, b.发送人, b.发送时间, b.采样人, b.采样时间, '' as 检验人,
 '' as 检验时间, '' as 审核人, '' as 审核时间, a.id as 医嘱Id, '' as 标本ID, b.记录性质,a.婴儿,e.性