sql >> Base de Datos >  >> RDS >> Oracle

Oracle SQL compara registros dentro de una tabla

Una idea básica es usar join :

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;

Sin embargo, si el code el valor es NULL (o una cadena vacía), debe tener más cuidado:

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)