Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 найти разницу в данных в 2 таблицах  [new]
Gabita
Member

Откуда:
Сообщений: 125
есть 2 таблицы, одинаковые по структуре.
разница лишь в данных.
в таблице А лежит 150,000
в таблице Б лежит 115,000

задача: сравнить данные обоих таблиц и выявить те которые не похожи.


автор
GROUP_FULL_NAME VARCHAR2(200 BYTE),
GROUP_DOMAIN VARCHAR2(100 BYTE),
GROUP_NAME VARCHAR2(100 BYTE),
GROUP_COMPUTER_TYPE VARCHAR2(50 BYTE),
GROUP_TYPE VARCHAR2(10 BYTE),
CONTAINED_FULL_NAME VARCHAR2(200 BYTE),
CONTAINED_DOMAIN VARCHAR2(100 BYTE),
CONTAINED_NAME VARCHAR2(100 BYTE)


праймери ключей нет, но основными и уникальными считаются:
автор
GROUP_FULL_NAME VARCHAR2(200 BYTE),
CONTAINED_FULL_NAME VARCHAR2(200 BYTE),


подтолкните как найти
17 апр 08, 16:07    [5562169]     Ответить | Цитировать Сообщить модератору
 Re: найти разницу в данных в 2 таблицах  [new]
avdav
Member

Откуда: Мурманск
Сообщений: 10
select from table A
minus
select from table B

Audentes fortuna juvat
17 апр 08, 16:11    [5562204]     Ответить | Цитировать Сообщить модератору
 Re: найти разницу в данных в 2 таблицах  [new]
Pir
Member

Откуда: Москва
Сообщений: 872
avdav
select from table A
minus
select from table B

Audentes fortuna juvat


неточный ответ

(select * from a
minus
select * from b)
union 
(select * from b
minus
select * from a)
17 апр 08, 16:20    [5562268]     Ответить | Цитировать Сообщить модератору
 Re: найти разницу в данных в 2 таблицах  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Pir
avdav
select from table A
minus
select from table B

Audentes fortuna juvat


неточный ответ

(select * from a
minus
select * from b)
union 
(select * from b
minus
select * from a)

не, ну двумя запросами с одним минусом в каждом - лучше.. а то думай потом, где кто
17 апр 08, 16:25    [5562318]     Ответить | Цитировать Сообщить модератору
 Re: найти разницу в данных в 2 таблицах  [new]
avdav
Member

Откуда: Мурманск
Сообщений: 10
+ к сказанному
select A.*, B.* from A, B
where <ключевое поле А> = <ключевое поле B>
and (
          (<A.поле1> != <B.поле1>
          or (<A.поле2> != <B.поле2>
          ...
      )

Audentes fortuna juvat
17 апр 08, 16:27    [5562344]     Ответить | Цитировать Сообщить модератору
 Re: найти разницу в данных в 2 таблицах  [new]
oleg_dov
Member

Откуда:
Сообщений: 188
Pir
avdav
select from table A
minus
select from table B

Audentes fortuna juvat


неточный ответ

(select * from a
minus
select * from b)
union 
(select * from b
minus
select * from a)


Чуть-чуть подправлю, как я такое делаю
(select 'In table A',a.* from a
minus
select 'In table A',b.* from b)
union 
(select 'In table B',b.* from b
minus
select 'In table B',a.* from a)

так понятно потом, чего где нет
18 апр 08, 10:45    [5565018]     Ответить | Цитировать Сообщить модератору
 Re: найти разницу в данных в 2 таблицах  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
oleg_dov
Чуть-чуть подправлю, как я такое делаю
Если уж править, то тогда и union all написать :)
18 апр 08, 10:49    [5565036]     Ответить | Цитировать Сообщить модератору
 Re: найти разницу в данных в 2 таблицах  [new]
Lecter
Member

Откуда: Киев
Сообщений: 2032
Может Merge лучше использовать вместо Minus?
18 апр 08, 11:21    [5565277]     Ответить | Цитировать Сообщить модератору
 Re: найти разницу в данных в 2 таблицах  [new]
Бабичев Сергей
Member

Откуда:
Сообщений: 2498
Lecter
Может Merge лучше использовать вместо Minus?
Ну так ты покажи нам, как именно его тут использовать. :)
18 апр 08, 11:23    [5565283]     Ответить | Цитировать Сообщить модератору
 Re: найти разницу в данных в 2 таблицах  [new]
Madness
Member

Откуда: Москва
Сообщений: 648
Lecter
Может Merge лучше использовать вместо Minus?

Интересно посмотреть :)
18 апр 08, 11:23    [5565289]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить