Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Porównaj wiersze i kolumny tej samej tabeli

Co powiesz na użycie join ? Poniżej przedstawiono wszystkie pary, które są różne:

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;

Jeśli chcesz tylko firmy, które są różne:

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)
       );

Uwaga:sprawdza się również, czy istnieje tylko jeden odrębny adres rozliczeniowy i wysyłkowy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy można wyprowadzić instrukcję SELECT z bloku PL/SQL?

  2. Inżynieria odwrotna modelu danych przy użyciu Oracle SQL Developer

  3. Zastosuj filtr w Oracle View

  4. Oracle :Eksportuj zestaw wyników instrukcji SELECT jako INSERT SQL Statements podobny do eksportu programisty SQL

  5. Jak poprawnie wyprowadzić PL/SQL?