CREATE OR REPLACE FUNCTION machine_churn5() RETURNS void AS $BODY$ DECLARE n_tab int; nume int; --n_filas int; BEGIN --3 --n_filas = (SELECT count(*) FROM (SELECT descripcion(f_base) FROM machine_consu lta GROUP BY f_base ORDER BY f_base) tab); DROP TABLE if exists machine_consulta; CREATE TABLE machine_consulta as ( SELECT f_base,f_act FROM machine_bd GROUP BY 2,1 ORDER BY 1,2 ); -- SELECT * FROM machine_consulta nume := 1; DROP TABLE if exists machine_consulta_churn5; CREATE TABLE machine_consulta_churn5 as ( SELECT nume::int id_tabla,f_base,f_act,count(customer_id) FROM m achine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') GROUP BY 3,2 ORDER BY 2,3 ); -- SELECT * FROM machine_consulta_churn5 nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE cod_dealer in ('5','D','M','R','I') AND dealer not in (select d ealer from directv_callouts) ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE cod_dealer in ('X') ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE cod_dealer in ('T') ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE dealer in (select dealer from directv_callouts) ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE cod_dealer in ('5','D','M','R','I') AND dealer not in (select d ealer from directv_callouts) AND departamento_inicial = 'LIMA' ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE cod_dealer in ('5','D','M','R','I') AND dealer not in (select d ealer from directv_callouts) AND provincia_inicial in ('LIMA','CALLAO') ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE cod_dealer in ('5','D','M','R','I') AND dealer not in (select d ealer from directv_callouts) AND departamento_inicial = 'LIMA' AND provincia_ inicial not in ('LIMA','CALLAO') ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE cod_dealer in ('5','D','M','R','I') AND dealer not in (select d ealer from directv_callouts) AND departamento_inicial in (SELECT departamento FROM zonas_dtv WHERE zona = 'CENTRO') ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE cod_dealer in ('5','D','M','R','I') AND dealer not in (select d ealer from directv_callouts) AND departamento_inicial in (SELECT departament o FROM zonas_dtv WHERE zona = 'NORTE') ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE cod_dealer in ('5','D','M','R','I') AND dealer not in (select d ealer from directv_callouts) AND departamento_inicial in (SELECT departament o FROM zonas_dtv WHERE zona = 'SUR') ) GROUP BY 3,2 ORDER BY 2,3 ); --**********************************--**********************************--****** ****************************--********************************** nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE n_decos_inicial <= 1) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE n_decos_inicial = 2) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE n_decos_inicial >= 3) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL FAMILIAR') GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL FAMILIAR' AND n_decos_inicial <= 1) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL FAMILIAR' AND n_decos_inicial >= 2) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL FAMILIAR MOVIE') GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL FAMILIAR MOVIE' AND n_decos_inicial <= 1) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL FAMILIAR MOVIE' AND n_decos_inicial >= 2) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL BRONCE') GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL BRONCE' AND n_decos_inicial <= 1) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL BRONCE' AND n_decos_inicial = 2) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL BRONCE' AND n_decos_inicial >= 3) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; --22 INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL N-FAMILIA') GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL N-FAMILIA' AND n_decos_inicial <= 1 ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL N-FAMILIA' AND n_decos_inicial >= 2 ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL N-BRONCE') GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL N-BRONCE' AND n_decos_inicial <= 1) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL N-BRONCE' AND n_decos_inicial = 2) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial = 'CONTROL N-BRONCE' AND n_decos_inicial >= 3) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial in ('CONTROLMAS90','CONTROL MIX','CONTROLMAS70 ','CONTROL50','CONTROL75') ) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial in ('CONTROLMAS90','CONTROL MIX','CONTROLMAS70 ','CONTROL50','CONTROL75') AND n_decos_inicial <= 1) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial in ('CONTROLMAS90','CONTROL MIX','CONTROLMAS70 ','CONTROL50','CONTROL75') AND n_decos_inicial = 2) GROUP BY 3,2 ORDER BY 2,3 ); nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(customer_id) FROM machine_bd WHERE churn5 is false AND customer_id in (SELECT customer_id FROM machine_cac WHERE migro = 'NO') AND customer_id in (SELECT customer_id FROM machine_vari ables_alan WHERE producto_inicial in ('CONTROLMAS90','CONTROL MIX','CONTROLMAS7 0','CONTROL50','CONTROL75') AND n_decos_inicial >= 3) GROUP BY 3,2 ORDER BY 2,3 ); /* nume := nume + 1; INSERT INTO machine_consulta_churn5 ( SELECT nume,f_base,f_act,count(a.customer_id) FROM machine_bd a JOIN machine_cac b ON a.customer_id = b.customer_id JOIN machine_variables_alan c ON a.customer_id = c.customer_id JOIN machine_variables_alan_riesgo d ON a.customer_id = d.custom er_id WHERE a.churn5 is false AND b.migro = 'NO' AND c.n_decos_inicial <= 1 AND d.riesgo = 1 GROUP BY 3,2 ORDER BY 2,3 ); */ DROP TABLE IF EXISTS machine_churn5_total; CREATE TABLE machine_churn5_total as ( SELECT f_base,f_act,0::int count FROM machine_bd --WHERE churn5 is false AND f_act >= fecha_inicio GROUP BY f_act,f_base ORDER BY f_base,f_act );
DROP TABLE IF EXISTS machine_churn5;
CREATE TABLE machine_churn5 as ( SELECT null::int id_fila,null::int as id_tabla, null::int as id_dato, f_ act as cambiar,''::varchar numero,* FROM crosstab( 'SELECT descripcion(f_act),descripcion(f_base),count n FROM machine_c onsulta_churn5 WHERE id_tabla = 1 AND f_act >= ''2011-02-01'' ORDER BY f_act,f_b ase', 'SELECT descripcion(f_base) FROM machine_consulta_churn5 WHERE id_tab la = 1 GROUP BY f_base ORDER BY f_base' ) AS ( f_act varchar, "Feb-11" varchar,"Mar-11" varchar,"Abr-11" varchar,"May-11" varc har,"Jun-11" varchar,"Jul-11" varchar,"Ago-11" varchar, "Sep-11" varchar,"Oct-11" varchar,"Nov-11" varchar,"Dic-11" varc har,"Ene-12" varchar,"Feb-12" varchar,"Mar-12" varchar, "Abr-12" varchar,"May-12" varchar,"Jun-12" varchar,"Jul-12" varc har,"Ago-12" varchar,"Sep-12" varchar,"Oct-12" varchar, "Nov-12" varchar,"Dic-12" varchar,"Ene-13" varchar,"Feb-13" varc har,"Mar-13" varchar,"Abr-13" varchar,"May-13" varchar, "Jun-13" varchar,"Jul-13" varchar,"Ago-13" varchar,"Sep-13" varc har,"Oct-13" varchar,"Nov-13" varchar,"Dic-13" varchar, "Ene-14" varchar,"Feb-14" varchar,"Mar-14" varchar,"Abr-14" varc har,"May-14" varchar,"Jun-14" varchar,"Jul-14" varchar, "Ago-14" varchar,"Sep-14" varchar,"Oct-14" varchar,"Nov-14" varc har,"Dic-14" varchar,"Ene-15" varchar,"Feb-15" varchar, "Mar-15" varchar,"Abr-15" varchar,"May-15" varchar,"Jun-15" varc har,"Jul-15" varchar,"Ago-15" varchar,"Sep-15" varchar, "Oct-15" varchar,"Nov-15" varchar,"Dic-15" varchar,"Ene-16" varc har,"Feb-16" varchar,"Mar-16" varchar,"Abr-16" varchar, "May-16" varchar,"Jun-16" varchar,"Jul-16" varchar,"Ago-16" varc har,"Sep-16" varchar,"Oct-16" varchar,"Nov-16" varchar, "Dic-16" varchar,"Ene-17" varchar ) limit 0 ); --LLAMADO DE FUNCION PARA LLENAR ENCABEZADO --PERFORM machine_insert_titulos(1,1,'machine_churn5'); DROP SEQUENCE IF EXISTS seq_machine; CREATE SEQUENCE seq_machine start 2; FOR n_tab IN 1 .. nume LOOP --LLAMADO DE FUNCION PARA LLENAR ENCABEZADO PERFORM machine_insert_titulos(nextval('seq_machine')::int,n_tab,'machine_chur n5'); --CONTENIDO DE TABLAS DINAMICAS INSERT INTO machine_consulta_churn5 ( SELECT n_tab,f_base,f_act FROM machine_churn5_total WHERE f_ba se NOT IN (SELECT f_base FROM machine_consulta_churn5 WHERE id_tabla = n_tab) ); INSERT INTO machine_consulta_churn5 ( SELECT n_tab,f_base,f_act FROM machine_churn5_total WHERE f_ac t NOT IN (SELECT f_act FROM machine_consulta_churn5 WHERE id_tabla = n_tab) ); INSERT INTO machine_churn5 ( SELECT nextval('seq_machine'),n_tab,3,f_act,'',* FROM crosstab( 'SELECT descripcion(f_act),descripcion(f_base),count n FROM machine_consulta_churn5 WHERE id_tabla = '||n_tab||' AND f_act >= ''2011-02-01'' ORDER BY f_act,f_base', 'SELECT descripcion(f_base) FROM machine_consulta_churn5 WHERE id_tabla = '||n_tab||' GROUP BY f_base ORDER BY f_base' ) AS ( f_act varchar, "Feb-11" varchar,"Mar-11" varchar,"Abr-11" varchar,"May-11" varc har,"Jun-11" varchar,"Jul-11" varchar,"Ago-11" varchar, "Sep-11" varchar,"Oct-11" varchar,"Nov-11" varchar,"Dic-11" varc har,"Ene-12" varchar,"Feb-12" varchar,"Mar-12" varchar, "Abr-12" varchar,"May-12" varchar,"Jun-12" varchar,"Jul-12" varc har,"Ago-12" varchar,"Sep-12" varchar,"Oct-12" varchar, "Nov-12" varchar,"Dic-12" varchar,"Ene-13" varchar,"Feb-13" varc har,"Mar-13" varchar,"Abr-13" varchar,"May-13" varchar, "Jun-13" varchar,"Jul-13" varchar,"Ago-13" varchar,"Sep-13" varc har,"Oct-13" varchar,"Nov-13" varchar,"Dic-13" varchar, "Ene-14" varchar,"Feb-14" varchar,"Mar-14" varchar,"Abr-14" varc har,"May-14" varchar,"Jun-14" varchar,"Jul-14" varchar, "Ago-14" varchar,"Sep-14" varchar,"Oct-14" varchar,"Nov-14" varc har,"Dic-14" varchar,"Ene-15" varchar,"Feb-15" varchar, "Mar-15" varchar,"Abr-15" varchar,"May-15" varchar,"Jun-15" varc har,"Jul-15" varchar,"Ago-15" varchar,"Sep-15" varchar, "Oct-15" varchar,"Nov-15" varchar,"Dic-15" varchar,"Ene-16" varc har,"Feb-16" varchar,"Mar-16" varchar,"Abr-16" varchar, "May-16" varchar,"Jun-16" varchar,"Jul-16" varchar,"Ago-16" varc har,"Sep-16" varchar,"Oct-16" varchar,"Nov-16" varchar, "Dic-16" varchar,"Ene-17" varchar ) ); END LOOP; ALTER TABLE machine_churn5 DROP COLUMN f_act; ALTER TABLE machine_churn5 RENAME COLUMN cambiar TO f_act; UPDATE machine_churn5 a set numero = (SELECT count FROM machine_consulta_churn30 b WHERE b.f_base = b.f_act AND b.f_act = descripcion_inversa(a.f_act) AND b.id_ tabla = a.id_tabla) WHERE numero = ''; --select * from machine_consulta_churn30 where f_base = f_act and id_tabla = 1 /* SELECT machine_td(); SELECT * FROM machine_churn5 ORDER BY 1 */ END $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION machine_churn5() OWNER TO postgres;