Devido ao sucesso em participações, provavelmente teremos novos desafios que serão premiados de alguma forma. Aguardem novidades...
Observei todas as soluções encaminhadas e todas estão corretas, retornando exatamente o valor esperado. Portanto, considero que todos os participantes são vencedores! Parabéns!
A minha solução para o problema foi assim:
create table #teste(
c1 varchar(1),
c2 varchar(1),
c3 varchar(1)
)
insert into #teste (c1, c2, c3) values ('2','1','3')
insert into #teste (c1, c2, c3) values ('3','2','1')
insert into #teste (c1, c2, c3) values ('Z','X','Y')
insert into #teste (c1, c2, c3) values ('B','C','D')
insert into #teste (c1, c2, c3) values ('Y','Z','X')
insert into #teste (c1, c2, c3) values ('B','C','A')
select distinct * from(
select
case
when (c1
case
when (c1>c2 and c1
when (c2>c1 and c2
when (c3>c2 and c3
end as c2,
case
when (c1>c2 and c1>c3) then c1
when (c2>c1 and c2>c3) then c2
when (c3>c2 and c3>c1) then c3
end as c3
from #teste) as dados
order by 1,2,3
É claro existem várias soluções para o problema, a solução que estou apresentando não é mais nem menos correta que as soluções apresentadas.
Novamente obrigado a todos e até a próxima!
Nenhum comentário:
Postar um comentário
Leave your comment here!