Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Por favor, estou com seguinte problema, em uma coluna tenho valores de 0,2,3, porém eu preciso que minha consulta final retorne apenas o valor 0, caso no registro não tenha valor 0, retorne o valor 3.
Estou tentando com o Case mais sem sucesso. Alguem poderia me ajudar.
select p.produto,p.nome, (case when p,sequencia = 3 then 3 else 2 end) as valor
from produtos p
where p.status = 'A'
Certo, mas no caso seria assim, se tiver um dos dois valores nunca retornar os dois valores. Por exemplo eu quero que traga sempre 0, mas se não tiver o 0 traga 1, mas nunca traga 0 e 1 no mesmo registro se não trás código duplicado.
Não entendi , faz um exemplo listando.
Certo,
Nome cidade endereço tipo_endereço
João São Paulo centro, 125 0
João São Paulo vila das flores, 190 1
Paulo Campinas salgueiro, 90 1
No cadastro acima eu quero que a consulta retorne apenas os endereço da coluna tipo_endereço = 0 (seria o principal) porém caso o cliente não tiver o endereço na coluna tipo_endereço = 0, ele vai retornar o tipo_endereço = 1 ( seria o endereço opcional). No caso do João é para ele trazer o endereço 0, já no caso do Paulo ele não tem o principal, então retorna do numero 1.
Eu pensei em fazer um If ou case.
Att,
Eu faria um subselect com NOT EXISTS ou um subselect com MAX.
SELECT Nome ,cidade , endereco , tipo_endereco
FROM tabela t1
where tipo_endereco = (select min(tipo_endereco)
FROM tabela t2
where t2.nome = t1.nome)
Decode(sequencia,0,sequencia,3) novaseq