2 coisas ai sao pesadas...
DISTINCT e LEFT JOIN...
2012/6/29 Gustavo A <gustavoatm@gmail.com>
Não tem like. Vou passar o o metodo.Vou colocar indice e retorno falando o resultado, mas so segunda feiraSegue abaixo:private
void preencherSolicitacoes(){String sql =
""; bancoDados = getApplicationContext().openOrCreateDatabase(Util.getNomeBanco(),MODE_PRIVATE,null);sql =
"SELECT DISTINCT "+ " solicitacao.id, solicitacao.id_siapi, solicitacao.ano, solicitacao.tipo_de_servico, solicitacao.protocolo "+ " ,pessoa_fisica.nome_do_solicitante razao_social, ' ' nome_fantasia, pessoa_fisica.nome_do_responsavel responsavel, pessoa_fisica.cpf cnpj "+ " ,edificacao.id edificacao ,edificacao.logradouro, edificacao.quadra, edificacao.lote, edificacao.numero numero_edificacao " + " ,edificacao.area_construida, edificacao.carga_de_incendio "+ " ,obm.id obm, obm.cep obm_cep, obm.apto obm_apto, obm.lote obm_lote, obm.nome obm_nome, obm.quadra obm_quadra, obm.rua obm_rua " + " ,obm.sigla obm_sigla "+ " ,(select bairro.nome from obm, bairro where obm.bairro = bairro.id and obm.id = solicitacao.obm_de_atendimento) obm_bairro "+ " ,(select municipio.nome from obm, municipio where obm.municipio = municipio.id and obm.id = solicitacao.obm_de_atendimento) obm_municipio "+ " ,bairro.nome bairro "+ " ,municipio.nome municipio "+ " ,telefone.numero telefone "+ " FROM pessoa_fisica "+ " LEFT JOIN solicitacao ON (solicitacao.solicitante = pessoa_fisica.id) "+ " LEFT JOIN edificacao ON (solicitacao.edificacao = edificacao.id) "+ " LEFT JOIN bairro ON (edificacao.bairro = bairro.id) "+ " LEFT JOIN municipio ON (edificacao.municipio = municipio.id) "+ " LEFT JOIN solicitante_telefones ON (solicitante_telefones.solicitante = pessoa_fisica.id) "+ " LEFT JOIN telefone ON (solicitante_telefones.telefone = telefone.id) "+ " LEFT JOIN obm ON (obm.id = solicitacao.obm_de_atendimento)"; try{ cursor = bancoDados.rawQuery(sql ,new String [] {}); if(cursor.getCount() > 0){ cursor.moveToFirst();preencheDadosInspecao();
btRealizarInspecao.setEnabled(true); btInspecaoAnterior.setEnabled(true); btProximaInspecao.setEnabled(true);}
else{Util.mensagemExibir(Inspecoes.
this, "Inspeção", "Não há inspeções carregadas");}
}
catch(Exception ex) {Util.mensagemExibir(Inspecoes.
this, "Inspeção", "Não há inspeções carregadas");}
finally{ bancoDados.close();}
}
Ate mais e antecipo meus agradecimentos,
Gustavo Moura
0 comentários:
Postar um comentário