将一个语句的查询字段结果作为另一个语句的查询字段并返回查询的值
SELECT PJ_JFSf FROM tg_zb_zbkzb WHERE zbuuid=v_zbuuid) --case when sum(fm) > 0 then sum(fz)/sum(fm) ELSE 0 end
create or replace function P_ZB_ZBZ(v_zbuuid varchar2,v_mthdm varchar2,v_swjg varchar2)
return NUMBER is
v_zbz NUMBER;
V_SQL VARCHAR2(1000);
BEGIN
FOR recd IN (SELECT PJ_JFSf FROM tg_zb_zbkzb WHERE zbuuid=v_zbuuid) LOOP
V_SQL:='SELECT round('||recd.pj_jfsf||'*100,2) FROM tg_zb_summary a WHERE a.zbuuid='''||v_zbuuid||''' AND a.mthdm='''||v_mthdm||''' AND swjg LIKE '''||v_swjg||'''||''%''';
execute immediate V_SQL into v_zbz;--V_SQL查询的结果赋值给v_zbz
END LOOP;
return v_zbz;
END;