É básico... mas tem gente que não sabe....
Ainda vou alterar, nem sei qual vai ser a diferença, mas sei que vai ter.
Atualizando 1 milhão de CEPs sem índice, previsão 96 horas.
Moderador: Moderadores
nTotal := 0
Rs := cnLocal:Execute( "SELECT COUNT(*) AS QTD FROM LOG_UNID_OPER" )
nTotal += Rs:Fields( "QTD" ):Value
Rs:CLose()
Rs := cnLocal:Execute( "SELECT COUNT(*) AS QTD FROM LOG_GRANDE_USUARIO" )
nTotal += Rs:Fields( "QTD" ):Value
Rs:Close()
Rs := cnLocal:Execute( "SELECT COUNT(*) AS QTD FROM LOG_CPC" )
nTotal += Rs:Fields( "QTD" ):Value
Rs:Close()
Rs := cnLocal:Execute( "SELECT COUNT(*) AS QTD FROM LOG_LOGRADOURO" )
nTotal += Rs:Fields( "QTD" ):Value
Rs:Close()
Rs := cnLocal:Execute( "SELECT COUNT(*) AS QTD FROM LOG_LOCALIDADE" )
nTotal += Rs:Fields( "QTD" ):Value
Rs:Close()
Rs := cnLocal:Execute( ;
"SELECT " + ;
"LOG_CPC.CPC_ENDERECO AS ENDERECO, " + ;
"'' AS BAIRRO, " + ;
"LOG_LOCALIDADE.LOC_NOSUB AS CIDADE, " + ;
"LOG_CPC.UFE_SG AS UF, " + ;
"LOG_CPC.CPC_KEY_DNE AS DNEKEY " + ;
"FROM LOG_CPC " + ;
"INNER JOIN LOG_LOCALIDADE ON LOG_LOCALIDADE.LOC_NU_SEQUENCIAL=LOG_CPC.LOC_NU_SEQUENCIAL " + ;
"" + ;
"UNION ALL " + ;
"" + ;
"SELECT " + ;
"LOG_UNID_OPER.UOP_ENDERECO AS ENDERECO, " + ;
"LOG_BAIRRO.BAI_NO AS BAIRRO, " + ;
"LOG_LOCALIDADE.LOC_NOSUB AS CIDADE, " + ;
"LOG_UNID_OPER.UFE_SG AS UF, " + ;
"LOG_UNID_OPER.UOP_KEY_DNE AS DNEKEY " + ;
"FROM LOG_UNID_OPER " + ;
"INNER JOIN LOG_BAIRRO ON LOG_BAIRRO.BAI_NU_SEQUENCIAL=LOG_UNID_OPER.BAI_NU_SEQUENCIAL " + ;
"INNER JOIN LOG_LOCALIDADE ON LOG_LOCALIDADE.LOC_NU_SEQUENCIAL=LOG_UNID_OPER.LOC_NU_SEQUENCIAL " + ;
"" + ;
"UNION ALL " + ;
"" + ;
"SELECT " + ;
"LOG_GRANDE_USUARIO.GRU_ENDERECO AS ENDERECO, " + ;
"LOG_BAIRRO.BAI_NO AS BAIRRO, " + ;
"LOG_LOCALIDADE.LOC_NOSUB AS CIDADE, " + ;
"LOG_GRANDE_USUARIO.UFE_SG AS UF, " + ;
"LOG_GRANDE_USUARIO.GRU_KEY_DNE AS DNEKEY " + ;
"FROM LOG_GRANDE_USUARIO " + ;
"INNER JOIN LOG_BAIRRO ON LOG_BAIRRO.BAI_NU_SEQUENCIAL=LOG_GRANDE_USUARIO.BAI_NU_SEQUENCIAL " + ;
"INNER JOIN LOG_LOCALIDADE ON LOG_LOCALIDADE.LOC_NU_SEQUENCIAL=LOG_GRANDE_USUARIO.LOC_NU_SEQUENCIAL " + ;
"" + ;
"UNION ALL " + ;
"" + ;
"SELECT " + ;
"LOG_LOGRADOURO.LOG_NOME AS ENDERECO, " + ;
"LOG_BAIRRO.BAI_NO AS BAIRRO, " + ;
"LOG_LOCALIDADE.LOC_NOSUB AS CIDADE, " + ;
"LOG_LOGRADOURO.UFE_SG AS UF, " + ;
"LOG_LOGRADOURO.LOG_KEY_DNE AS DNEKEY " + ;
"FROM LOG_LOGRADOURO " + ;
"INNER JOIN LOG_BAIRRO ON LOG_BAIRRO.BAI_NU_SEQUENCIAL = LOG_LOGRADOURO.BAI_NU_SEQUENCIAL_INI " + ;
"INNER JOIN LOG_LOCALIDADE ON LOG_LOCALIDADE.LOC_NU_SEQUENCIAL = LOG_LOGRADOURO.LOC_NU_SEQUENCIAL " + ;
"UNION ALL " + ;
"" + ;
"SELECT " + ;
"'' AS ENDERECO, " + ;
"'' AS BAIRRO, " + ;
"LOG_LOCALIDADE.LOC_NOSUB AS CIDADE, " + ;
"LOG_LOCALIDADE.UFE_SG AS UF, " + ;
"LOG_LOCALIDADE.LOC_KEY_DNE AS DNEKEY " + ;
"FROM LOG_LOCALIDADE " + ;
"" )
Rs := cnLocal:Execute( "SELECT SUM( QTD ) AS QTD FROM " + ;
"( SELECT COUNT(*) AS QTD FROM LOG_UNID_OPER UNION " + ;
"SELECT COUNT(*) AS QTD FROM LOG_GRANDE_USUARIO UNION " + ;
"SELECT COUNT(*) AS QTD FROM LOG_CPC UNION " + ;
"SELECT COUNT(*) AS QTD FROM LOG_LOGRADOURO UNION " + ;
"SELECT COUNT(*) AS QTD FROM LOG_LOCALIDADE ) AS TUDO" )
nTotal := Rs:Fields( "QTD" ):Value
Rs:Close()
Usuários vendo este fórum: Nenhum usuário registrado online e 12 visitantes