sql >> Databasteknik >  >> RDS >> Oracle

Jämför rader och kolumner i samma tabell

Vad sägs om att använda en join ? Följande visar alla par som är olika:

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;

Om du bara vill ha företagen som är annorlunda:

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

Obs:detta kontrollerar också att det bara finns en distinkt fakturerings- och leveransadress.



  1. Skriptet kommer inte att logga in

  2. rekursiv funktion för att få alla barnkategorier

  3. Laravel 5 Eloquent HasManyThrough - namnge kolumner i länkar

  4. Kontrollera om användaren är på sidan