-- RECALCULO MASIVO NACIONAL (REGLA 26 ACTUALIZADA)
-- 1 = URBANO (Catastro Substring 4)
-- 0 = RURAL (Padron Puro)

UPDATE public.snc_raw_lotes_activos 
SET 
    snc_cuenta = CASE 
        WHEN tipo_cuenta = 1 THEN LTRIM(REGEXP_REPLACE(SUBSTRING(ccatastral, 4), '[^a-zA-Z0-9]', '', 'g'), '0')
        WHEN tipo_cuenta = 0 THEN padron::text
        ELSE snc_cuenta 
    END,
    ccc = CASE 
        WHEN tipo_cuenta = 1 THEN LTRIM(REGEXP_REPLACE(SUBSTRING(ccatastral, 4), '[^a-zA-Z0-9]', '', 'g'), '0')
        WHEN tipo_cuenta = 0 THEN padron::text
        ELSE ccc 
    END
WHERE tipo_cuenta IN (0, 1);

-- Auditoria de Poblacion Nacional Post-Saneamiento
SELECT 
    tipo_cuenta, 
    count(*) as total, 
    count(NULLIF(snc_cuenta, '')) as con_cuenta 
FROM public.snc_raw_lotes_activos 
GROUP BY tipo_cuenta;
