Hola usuario de nuestra página web, encontramos la respuesta a tu pregunta, deslízate y la verás un poco más abajo.
Solución:
select *
from
(
( select * from TableInSchema1
minus
select * from TableInSchema2)
union all
( select * from TableInSchema2
minus
select * from TableInSchema1)
)
debería funcionar si quieres resolver esto con una consulta
Como una alternativa que ahorra el escaneo completo de cada tabla dos veces y también le brinda una manera fácil de saber qué tabla tenía más filas con una combinación de valores que la otra:
SELECT col1
, col2
-- (include all columns that you want to compare)
, COUNT(src1) CNT1
, COUNT(src2) CNT2
FROM (SELECT a.col1
, a.col2
-- (include all columns that you want to compare)
, 1 src1
, TO_NUMBER(NULL) src2
FROM tab_a a
UNION ALL
SELECT b.col1
, b.col2
-- (include all columns that you want to compare)
, TO_NUMBER(NULL) src1
, 2 src2
FROM tab_b b
)
GROUP BY col1
, col2
HAVING COUNT(src1) <> COUNT(src2) -- only show the combinations that don't match
El crédito va aquí: http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:1417403971710
Comentarios y puntuaciones
Tienes la posibilidad dar recomendación a esta división si te fue útil.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)