Oracle
 sql >> Database >  >> RDS >> Oracle

Query SQL per ottenere valori distinti di tutti i valori di colonna in una tabella

Puoi farlo in questo modo:

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

L'uso di union rimuove i valori duplicati. Nota che questo presuppone che i tipi di colonna siano compatibili (come tutte le stringhe).

MODIFICA:

Se la colonna in una tabella deve avere un solo tipo. (Ok, potrebbe essere una variante, ma probabilmente non è una semplificazione.) Puoi trasmettere tutto a 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;

In alternativa, puoi raggruppare le colonne per tipo di dati ed eseguire un'esecuzione separata per ciascuna o una colonna separata per ogni tipo di dati. È improbabile che tu abbia corrispondenze esatte tra i tipi di dati, quindi questo potrebbe soddisfare le tue esigenze.