|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
Всем привет! Подскажите, какой есть цивилизованный способ сравнить значения в двух табах без уникального ключа. То есть например есть таблица т1, миллионы записей, уникального ключа нет, столбцов около 10-15. Есть таблица т1_нью ,получена каким то путем, но данные в ней должны быть в идеале такие же как в т1. Для каждого столбца в т1_нью нужно определить diff-сколько строчек в таблице для этого столбца отличаются от т1. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 20:07 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
EvgeniaMakarovaВсем привет! Подскажите, какой есть цивилизованный способ сравнить значения в двух табах без уникального ключа. То есть например есть таблица т1, миллионы записей, уникального ключа нет, столбцов около 10-15. Есть таблица т1_нью ,получена каким то путем, но данные в ней должны быть в идеале такие же как в т1. Для каждого столбца в т1_нью нужно определить diff-сколько строчек в таблице для этого столбца отличаются от т1. не понял спавнівать надо строки, а не столбцы напр т1 1 а 1 б 2 а т1_нью 1 б 1 а 2 а По столбцах равенство, но таблички то разные .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 20:28 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
Stax, пусть например будет 3 столбца "айди юзера" , "время на сайте", "количество очков" .(пример чисто теоретический! :-)) и пошли данные в 1-й табе 1 12 123 1 45 566 2 65 6464 2 44 65465 2 56 45 и во второй табе 1 12 122 1 54 566 2 65 6464 2 44 65465 2 56 45 И например для третьего столбца нужен ответ типа дифф = (1/5)*100 - так как в одной строке не совпали данные в третьем столбце. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 20:46 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
Stax, говоря вообще, мне надо протестить просто что новые ЕТЛ работают исправно и данные загруженные ими равны данным загруженным легаси-ЕТЛями. вот. может я вопрос непрально задала просто. И вот для таб с уникальными ключами все ясно. А без ключей не пойму как сделать сравнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 20:49 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
EvgeniaMakarovaА без ключей не пойму как сделать сравнение. Для разовой работы можно: 1) вычесть одно из другого. Добиться пустого результата в обоих направлениях. 2) если п.1 успешен - сравнить общее количество строк, количество не-наллов, мин, макс и количество уникальных по интересующим атрибутам (тут надо просто проконтролировать, что не потеряли полные дубли строк - если оно вообще допустимо по тз). Для ETL этого будет достаточно - если, конечно, имеете возможность синхронизировать два etl. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 22:33 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
andrey_anonymousДля разовой работы можно: 1) вычесть одно из другого. Добиться пустого результата в обоих направлениях. 2) если п.1 успешен - сравнить общее количество строк, количество не-наллов, мин, макс и количество уникальных по интересующим атрибутам (тут надо просто проконтролировать, что не потеряли полные дубли строк - если оно вообще допустимо по тз). Для ETL этого будет достаточно - если, конечно, имеете возможность синхронизировать два etl. Или просто MINUS + COUNT (аналитический): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 22:42 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
Упс, ROW_NUMBER а не COUNT: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 23:06 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
SY, автортаблица т1, миллионы записей ROW_NUMBER сделает строки уникальными, и можно попробовать full outer join + rn is null ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 09:47 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
Stax, Спасибо. про полное совпадение строк понятно, это самый легкий случай. Как правило несовпадение идет по 4-5 столбцам из табы. И мне вот это и нужно как результат - типа вот столбцы а,б,с,д - совпадают 100%, столбец е - диф 15%, столбец и - диф 56% и тд. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:10 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
в подобных кейсах все забывают про интерсект: чтобы сразу исключить все совпадения. а потом уже выверять расхожести по отдельным столбцам - и поиск по расхождениям уже будет быстрее из-за меньшего кол-ва оставшихся строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 23:15 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
Fogel, меньше если 1) непонятно есть ли полные дубли (исключать нельзя : я так понял тестируют НЬЮ техноложи) 2) повторюсь, если есть дубли как Вы с интерсект их решите? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 23:40 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
Fogelинтерсект: чтобы сразу исключитьинтерсект дает совпадения, а не исключает. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 07:37 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
Евгения, посмотрите здесь, возможно что-то возьмете на вооружение. Compare and sync tables: DBMS_COMPARISON? и ниже... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 12:50 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
JPolak, этому пакету нужен обязательно уникальный ключ на таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 17:06 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
EvgeniaMakarovaJPolak, этому пакету нужен обязательно уникальный ключ на таблицу. Я не о пакете, если посмотреть ниже по ветке, то можно найти альтернативные решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 17:49 |
|
сравнение значений в таблицах без уникального ключа
|
|||
---|---|---|---|
#18+
JPolakEvgeniaMakarovaJPolak, этому пакету нужен обязательно уникальный ключ на таблицу. Я не о пакете, если посмотреть ниже по ветке, то можно найти альтернативные решения. я об этом ) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 18:01 |
|
|
start [/forum/topic.php?fid=52&fpage=86&tid=1882880]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
32ms |
get topic data: |
15ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 161ms |
0 / 0 |