Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Prezados,
Eu tenho a tabela "QUALQUER" abaixo com as seguintes colunas e valores:
coluna A I Coluna B
A F
F A
L A
B A
C A
A C
O que procuro fazer penso que daria pra ser feito com 3 selects, mas apenas consigo 2 selects.
Eu quero listar os valores da coluna A com os da coluna B e mostrá-los caso atendam condições específicas: se "A" estiver na coluna "A", liste Coluna B; se "A" estiver na Coluna B, liste coluna A; mostre apenas os valores da coluna A unidos aos valores da coluna B se cada valor distinto aparecer mais do que apenas uma vez. Ou seja, eu quero apresentar apenas os valores "F" e "C".
O mais próximo que consegui (que funciona) foi conforme consulta abaixo (que mostra os valores F, L, B e C)
(SELECT DISTINCT coluna A FROM qualquer WHERE coluna B='A') UNION ALL (SELECT DISTINCT coluna B FROM qualquer WHERE
coluna A='A')
Tentei fazer com a expressão abaixo, mas sempre retorna erro.
SELECT y FROM ((SELECT DISTINCT coluna A FROM qualquer WHERE coluna B='A') UNION ALL (SELECT DISTINCT coluna B FROM qualquer WHERE coluna A='A')) AS y GROUP BY coluna A HAVING count (*) > 1
Alguém tem uma ideia de como resolver isso? Desde já, agradeço.
Não testei tua terceira opção, Motta. Pois, de fato, a segunda funciona PERFEITAMENTE, bastando acrescentar uma cláusula WHERE após "qualquer". Muito obrigado MESMO, se eu pudesse te dava um beijo na boca agora!!! Tô adorando esse fórum!
Rapaz , basta pagar o chopp , sem beijos ....
Coluna A , valor "A" fica confuso , escreva o exemplo mais perto da realidade.
Mas creio que passa por um UNION para contar as ocorrencias distintas das duas colunas
select colunaa coluna from qualquer
union all
from
(
select colunaa coluna from qualquer
union all
select colunab from qualquer
) v group by coluna
having count(*) > 1
select *
from qualquer
where ....