sql >> Database >  >> RDS >> Oracle

Oracle SQL vergelijk records binnen een tabel

Een basisidee is om join . te gebruiken :

select t0.item_id, t0.code as code_0, t1.code as code_1
from t t0 join
     t t1
     on t0.item_id = t1.item_id and
        t0.item_revision = 0 and
        t1.item_revision = 1
where t0.code <> t1.code;

Als de code waarde is NULL (of een lege string), moet je voorzichtiger zijn:

where t0.code <> t1.code or (t0.code is null and t1.code is not null) or
      (t0.code is not null and t1.code is null) 


  1. SQL waarbij de samengevoegde set alle waarden moet bevatten, maar mag meer bevatten

  2. Oracle Sequentietrigger maken

  3. Syntaxisfout aan het einde van invoer in PostgreSQL

  4. Wat is het gebruik van de vierkante haken [] in sql-statements?