У меня есть две разные таблицы, скажем, таблица A и B в оракуле с примерно 15 миллионами записей в каждом. Table A
имеет столбцы (a,b,c,d)
и Table B
имеет столбцы (e,f,g,h)
.Найти различия между двумя большими таблицами в оракуле
Цель состоит в том, чтобы записать хранимую процедуру, чтобы проверить, присутствует ли каждая таблица в таблице А в таблице B и наоборот. Различия между этими двумя должны быть вставлены в третью таблицу.
Моя проблема заключается в том, что column a
в Table A
следует сравнить с СЦЕПИТЬ колонного е и е в таблице B, если column e
содержит определенную строку (0311), если не я должен сравнить его только с column f
.
Column b
следует сравнить с column g
в table B
и я также сравнить column c
в table A
с column g
в table B
, если два не матч column d
следует сравнить с column g
.
Какой самый быстрый способ сделать это?
, например, эти два матча:
Table A: 9353456789,03117884657,12082200003035,12082123595535
Table B: 9353456789,0311,7884657,12082200003035
или:
Table A: 9353456789,03117884657,12082200003035,12082123595535
Table B: 9353456789,0311,7884657,12082123595535
пример записей, которые не нуждаются в конкатенацию и являются матч:
Table A: 9353456789,03617884657,12082200003035,12082123595535
Table B: 9353456789,0361,03617884657,12082200003035
В общем, вы можете найти строки, которые находятся в 'tableA', но не в' tableB' (при условии, те же/подобные структуры) с этим запросом: 'SELECT * FROM tableA MINUS SELECT * FROM tableB'. Для вашего вопроса, хотя нам понадобится еще более подробная информация, можете ли вы разместить пример из 3-4 строк «TableA» и 3-4 строк «TableB», включая, по крайней мере, одну строку, которая заставила бы сравнить конкатенированное значение? –
да, например, эти два соответствуют: Таблица A: 9353456789,03117884657,12082200003035,12082123595535 Таблица B: 9353456789,0311,7884657,12082200003035 – Narges
Извините, этого недостаточно. Не могли бы вы включить по крайней мере один набор строк для каждого сценария (concatenate versus not concatenate), и вы также можете определить столбцы 'a',' b', 'c', ...' g'. Также, пожалуйста, укажите, что должна содержать «определенная строка», в которой должен находиться столбец 'e'. Было бы лучше, если бы вы отредактировали свой вопрос и добавили примеры, а не размещали их в комментарии. Я уверен, что на ваш вопрос можно ответить, как только он будет определен достаточно хорошо. –