CREATE OR REPLACE FUNCTION SF_YF_GETALLZYZD( p_ZYID00 IN number --输入挂号住院Id )RETURN varchar2 IS --疾病诊断(主要诊断 入院诊断 其它诊断) V_ZDMC00 varchar2(2000); V_TEMPZD varchar2(2000); -- MODIFICATION HISTORY -- Person Date Comments -- CSF 2010.03.03 CREATE -- --------- ---------- ------------------------------------------- BEGIN --先查询主诊断 select nvl(MAX(Trim(ZDMC00)),' ') into V_ZDMC00 --出院主要诊断 from BQ_BRZDXX where ZYID00=p_ZYID00 and zdlb00='3' and rownum=1; if V_ZDMC00<>' ' then V_ZDMC00 := '主要诊断:'||V_ZDMC00; end if; select nvl(MAX(Trim(ZDMC00)),' ') into V_TEMPZD --入院诊断 from BQ_BRZDXX where ZYID00=p_ZYID00 and zdlb00 = '2' and rownum=1; if V_TEMPZD <> ' ' then V_ZDMC00 := V_ZDMC00||' 入院诊断:'||V_TEMPZD; end if; select nvl(MAX(Trim(ZDMC00)),' ') into V_TEMPZD --出院其他诊断 from BQ_BRZDXX where ZYID00=p_ZYID00 and zdlb00 = '4' and rownum=1; if V_TEMPZD <> ' ' then V_ZDMC00 :=V_ZDMC00|| ' 其他诊断:'||V_TEMPZD; end if; RETURN trim(V_ZDMC00); END;