Como unir em uma coluna os valores não nulos de outras duas colunas da mesma tabela

6 respostas
J

Olá!

Gostaria de saber como trazer em uma coluna os valores não nulos de duas colunas da mesma tabela.

Exemplo Tabela Cliente:

NOME CPF CNPJ
jmacedo null 11111111111111
Elias [telefone removido] null

Gostaria de obter a seguintes tabelas:
NOME CPF/CNPJ
jmacedo 11111111111111
Elias [telefone removido]

Agradeço pela ajuda!

6 Respostas

fredferrao

Aonde? SQL? qual banco? tu pode usar um case, ou decode do Oracle.

rogelgarcia
select nome, cpf from cliente where cpf is not null
union
select nome, cnpj from cliente where cnpj is not null
pvrsouza

Saindo um pouco da sintaxe da instrução SQL, neste caso, teria realmente necessidade de ter as duas colunas? Nos projetos que eu trabalhei sempre usei uma coluna única CPF/CNPJ e, de alguma forma, controlo com uma flag se ele é PF ou PJ.

Voltando para a sintexe do SQL só complementando o SQL enviado por rogelgarcia:

select nome, cpf as cpf_cnpj from cliente where cpf is not null union select nome, cnpj as cpf_cnpj from cliente where cnpj is not null

J

Galera, o sql do pvrsouza funcionou perfeitamente!
Minhas tentativas estavam bem proximas, mas não domínio muito sql.

Obrigado pvrsouza e a todos do forum!

rogelgarcia

Por nada… kkkkk :slight_smile:

pvrsouza

Jonasds:
Galera, o sql do pvrsouza funcionou perfeitamente!
Minhas tentativas estavam bem proximas, mas não domínio muito sql.

Obrigado pvrsouza e a todos do forum!

Só corrigindo: “o sql do rogelgarcia funcionou …!”.

Só fiz dar uma contribuição.

:smiley:

Abs

Criado 9 de janeiro de 2013
Ultima resposta 10 de jan. de 2013
Respostas 6
Participantes 4