SQL - duvida com consulta simples

3 respostas
MrDataFlex

Pessoal, bom dia.

Eu preciso fazer uma consulta numa tabela com colunas diferentes, por exemplo:

table: x, possui as colunas: a,b e c.

gostaria de fazer algo que pudesse agrupar as colunas a, b e c, numa só coluna ‘virtual’ e removesse os casos repetidos. por exemplo:

selecione “a,b,c” de “x” agrupando em “resultado” removendo dados repetidos.

Any help ?

Thanks.

3 Respostas

M

Ola MrDataFlex,

tente :

select a as resultado from x union select b as resultado from x union select c as resultado from x

abraços.

pmlm

Isso apenas os agrupa numa única coluna. Para remover os duplicados pode ser feito um group by

SELECT a AS resultado FROM x 
UNION 
SELECT b AS resultado FROM x
UNION 
SELECT c AS resultado FROM x
GROUP BY 1
M

Na verdade achei que ele queria remover os duplicados entre a união, e entre a união o proprio union já faz isso. (Se quisse deixar os duplicados poderia fazer union all).

uma opção ao que voce falou tambem poderia ser:

select distinct resultado from (
 SELECT a AS resultado FROM x   
 UNION   
 SELECT b AS resultado FROM x  
 UNION   
 SELECT c AS resultado FROM x 
)

ou

SELECT distinct a AS resultado FROM x   
 UNION   
 SELECT distinct b AS resultado FROM x  
 UNION   
 SELECT distinct c AS resultado FROM x

Abraços.

Criado 18 de abril de 2009
Ultima resposta 20 de abr. de 2009
Respostas 3
Participantes 3