Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

SQL Query untuk mendapatkan Nilai Berbeda dari semua nilai kolom dalam tabel

Anda dapat melakukannya seperti ini:

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

Penggunaan union menghapus nilai duplikat. Perhatikan bahwa ini mengasumsikan bahwa jenis kolom kompatibel (seperti semua string).

EDIT:

Jika kolom dalam tabel harus memiliki hanya satu jenis. (Oke, itu bisa menjadi varian, tapi itu mungkin bukan penyederhanaan.) Anda dapat mentransmisikan semuanya ke 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;

Atau, Anda bisa mengelompokkan kolom menurut tipe data dan melakukan proses terpisah untuk masing-masing kolom, atau kolom terpisah untuk setiap tipe data. Kecil kemungkinan Anda akan memiliki kecocokan persis di seluruh jenis data, jadi ini mungkin memenuhi kebutuhan Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Paksa SELECT luar untuk gagal jika SELECT dalam berisi pengidentifikasi yang tidak valid

  2. Daftar nama kolom untuk tampilan pengguna di Oracle

  3. Batasan unik bersyarat dengan banyak bidang di Oracle db

  4. Ekspor database Oracle ke file sql?

  5. Oracle SQL Query yang optimal untuk menyelesaikan group-by pada beberapa kolom dalam satu tabel yang berisi ~ 7.000.000 catatan