sql >> Base de Datos >  >> RDS >> Oracle

Consulta SQL para obtener valores distintos de todos los valores de columna en una tabla

Puedes hacerlo así:

select col1 from table union
select col2 from table union
. . .
select coln from table;

El uso de union elimina los valores duplicados. Tenga en cuenta que esto supone que los tipos de columna son compatibles (como que todos son cadenas).

EDITAR:

Si la columna de una tabla tiene que tener un solo tipo. (Está bien, podría ser una variante, pero probablemente no sea una simplificación). Puede convertir todo en varchar2() :

select cast(col1 as varchar2(255)) from table union
select cast(col2 as varchar2(255)) from table union
. . .
select cast(coln as varchar2(255)) from table;

Como alternativa, puede agrupar las columnas por tipo de datos y realizar una ejecución separada para cada una, o una columna separada para cada tipo de datos. Es poco probable que tenga coincidencias exactas entre los tipos de datos, por lo que esto podría satisfacer sus necesidades.