Select buscar apenas campos com dados

7 respostas
jaymemattos

Boa tarde pessoal,

To com uma dúvida aqui de sql, tem como eu fazer um select de uma tabela com uns determinados campos e ele trazer esses campor apenas o que tiver valor?
Vou explicar melhor

Exemplo:

select p.nome, p.nomepai, p.nomemae, p.numeroordem, p.apelido, p.nomecartorio, p.telefone, p.celular from pessoa p where p.individuo = 1 and p.id = 1

Uso esse comando para exibir estes dados em um relatorio, mais como no formulario nem todos campos sao obrigatorios, queria que o comando SQL me retornasse na propria
consulta apenas os campos que nao estao vazio, tem como?

Obrigado.

7 Respostas

R_chieck

Ola, pelo que eu conheço de DB, não há como fazer, pois tens que especificar quais campos quer trazer, a menos que faça em etapas, primeiro tragas todos, ai verifica quais são nulos, apartir desta consulta vc gera um sql dinamica, trazendo somente os q quiser, não recomendo, é gambiarra, mas se resolver seu problema…

F

sugiro que não passe essa complexidade para o banco, faça um serviço com simples testes e filtre em nivel de app, fica mais legivel e facil.

leorbarbosa

Sim,

é possível. Não há qualquer difilcudade nisto. É deste jeito mesmo que você está fazendo.

Att,

brenowbc

opa, na sua DAO, que pega os dados do BD, faz simples if, elses

if (campo.isNull())

naoMostre();

else

mostre();
ou se for uma String

if (campo.isEmpty() )

naoMostre();

else

mostre();

coisas do tipo, vai tentando usar ae a lógica.
vlw

jaymemattos

brenowbc

Do jeito que voce falou, fucniona sim, mais ai eu iria ter que implementar o sql junto à classe DAO, e nao é esse o meu propósito, o que eu queri realmente fazer
é ele me retornar apenas os campos com algum dado na propria consulta SQL.

brenowbc

mas justamente isso man, a DAO com BD é pra mecher tambem com os codigos SQL.

brenowbc

e só completando, acho que seria mais fácil e ficar com um melhor desempenho se você fizesse isso no proprio aplicativo,
pois acho que o desempenho sairia melhor.
mas vê ae kra.
um abraço

Criado 20 de julho de 2011
Ultima resposta 21 de jul. de 2011
Respostas 7
Participantes 5