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

Abaikan nilai redundan yang diambil dari database

Jika ini hanya tentang memperlakukan (B, A) sebagai duplikat dari (A, B) dan Anda tidak terlalu peduli apakah baris yang dikembalikan adalah (A, B) atau (B, A) , Anda dapat melakukan sesuatu seperti ini:

SELECT DISTINCT
  CASE WHEN BUG_ID > LINKED_BUG_ID THEN LINKED_BUG_ID ELSE BUG_ID AS BUG_ID,
  CASE WHEN BUG_ID > LINKED_BUG_ID THEN BUG_ID ELSE LINKED_BUG_ID AS LINKED_BUG_ID
FROM MY_BUG_LINKS;

Yaitu, jika BUG_ID memiliki nilai lebih besar dari LINKED_BIG_ID , kueri menukar dua ID, jika tidak, nilai akan dikembalikan tidak berubah. Oleh karena itu, (A, B) dan (B, A) selalu menghasilkan baris duplikat (keduanya berupa (A, B) atau (B, A) ), dan DISTINCT memastikan tidak ada hasil akhir.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kata Sandi Basis Data Kedaluwarsa dan Koneksi Masih Hidup

  2. Perjalanan Melalui GIMR

  3. Kesalahan fatal:jni.h:Tidak ada file atau direktori seperti itu saat menginstal jPype

  4. Perbedaan Tepat antara Oracle Client dan Oracle Database

  5. menambahkan hari kerja di Oracle sql