Гость
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сравнение данных в таблицах / 6 сообщений из 6, страница 1 из 1
18.01.2022, 20:53
    #40127583
very_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение данных в таблицах
есть 2 запроса
Код: plsql
1.
select CODE, NAME from table1


и
Код: plsql
1.
select CODE, NAME from table2


как грамотно проверить что данные запросов совпадают на 100% ?
...
Рейтинг: 0 / 0
18.01.2022, 22:13
    #40127598
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение данных в таблицах
И что, у тебя собственных мыслей нет вообще никаких?
...
Рейтинг: 0 / 0
18.01.2022, 23:31
    #40127627
SQL*Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение данных в таблицах
very_
есть 2 запроса
Код: plsql
1.
select CODE, NAME from table1


и
Код: plsql
1.
select CODE, NAME from table2


как грамотно проверить что данные запросов совпадают на 100% ?

Для начала подумайте, что является критериями совпадения данных,
полученных этими запросами, подумайте, как бы вы их сравнивали "вручную",
если бы они были просто распечатаны на бумаге.
Потом подумайте, как это можно выразить командами SELECT.

Создайте пример с тестовыми данными.
Покажите ваши попытки решить задачу.
...
Рейтинг: 0 / 0
19.01.2022, 02:06
    #40127644
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение данных в таблицах
Если есть первичный ключ, то достаточно убедиться, что вычитания table1 minus table2 и table2 minus table1 дают пустые множества.
Если же первичного ключа нет, то вычитать следует сгруппированные выборки:
Код: plsql
1.
2.
3.
4.
5.
select CODE, NAME, count(*) c from table1 group by code, name 
minus select CODE, NAME, count(*) c  from table2 group by code, name
и
select CODE, NAME, count(*) c from table2 group by code, name 
minus select CODE, NAME, count(*) c  from table1 group by code, name
...
Рейтинг: 0 / 0
19.01.2022, 10:05
    #40127679
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение данных в таблицах
andrey_anonymous

Если же первичного ключа нет


мне приснилось что в новых версиях добавили MINUS ALL

.....
stax
...
Рейтинг: 0 / 0
19.01.2022, 14:58
    #40127805
SQL*Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение данных в таблицах
Stax
andrey_anonymous

Если же первичного ключа нет

мне приснилось что в новых версиях добавили MINUS ALL
И не только!

Oracle Database 21c

Table 4-5 Set Operators
OperatorReturnsUNIONAll distinct rows selected by either queryUNION ALLAll rows selected by either query, including duplicatesINTERSECTAll distinct rows selected by both queriesINTERSECT ALLAll rows selected by both queries including duplicatesMINUSAll distinct rows selected by the first query but not the secondMINUS ALLAll rows selected by the first query but not the second including duplicatesEXCEPTAll distinct rows selected by the first query but not the secondEXCEPT ALLAll rows selected by the first query but not the second including duplicates
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сравнение данных в таблицах / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]