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

Bandingkan baris dan kolom dari tabel yang sama

Bagaimana kalau menggunakan join ? Berikut ini menunjukkan semua pasangan yang berbeda:

select tb.*, ts.*
from company tb join
     company ts
     on tb.company_name = ts.company_name and
        ts.address_type = 'shipping' and
        tb.address_type = 'billing' and
        ts.address <> tb.address;

Jika Anda hanya menginginkan perusahaan yang berbeda:

select company_name
from company t
group by company_name
having count(distinct case when t.address_type = 'billing' then address end) = 1 and
       count(distinct case when t.address_type = 'shipping' then address end) = 1 and
       (max(case when t.address_type = 'billing' then address end) <>
        max(case when t.address_type = 'shipping' then address end)
       );

Catatan:ini juga memeriksa bahwa hanya ada satu alamat penagihan dan pengiriman yang berbeda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan OPENQUERY dengan database Oracle untuk menanyakan rentang tanggal

  2. Oracle - kursor menggunakan dbms_utility.exec_ddl_statement tidak berjalan dengan benar

  3. Setel ulang posisi kursor setelah ResultSet updateRow

  4. Cari database Oracle untuk tabel dengan nama kolom tertentu?

  5. Bagaimana saya bisa mendapatkan id objek baru yang dihasilkan oleh urutan DB?