У меня есть две таблицы с 3 столбцами, которые содержат эквивалентную информацию, но для разных сред. Два первых столбца эквивалентны, но различны для обеих таблиц, как одно и то же слово на разных языках. Каждая пара первых двух столбцов должна быть уникальным идентификатором третьего столбца. Затем у меня есть третья таблица, чтобы сделать эквивалентность между двумя таблицами.Соедините две таблицы двумя столбцами, используя третью таблицу сопоставления
Позвольте мне объяснить это на примере.
испанский стол
Origin| Dest | Code
mesa | techo | AA
mesa | suelo | BB
suelo | mesa | CC
suelo | techo | DD
Английский стол
Origin| Dest | Code
table | floor | XX
table | roof | YY
floor | table | WW
floor | roof | ZZ
Mapping стол
Eng | Spanish
table | mesa
floor | suelo
roof | techo
Затем информация, которую я хочу, чтобы это:
AA | XX
BB | YY
CC | WW
DD | ZZ
Как вы можете видеть, mesa + sobre следует преобразовывать в таблицу +, а затем комбинировать код этой конкретной комбинации. Я понятия не имею, как это сделать. Я использую базу данных oracle для простоты, но я могу обрабатывать данные любым другим способом, поэтому любое предложение приветствуется.
Большое спасибо
EDIT: Я изменил примеры, потому что я просто понял, что они плохие. В моем реальном случае два столбца одного типа, и комбинация должна учитывать это.
Вам необходимо указать соответствие между наречиями (возможно, включив его в существующую таблицу отображения) - в противном случае, как следует дб знать о переписке между «над» /» sobre 'вместо' over '/' debajo '? – collapsar
Дорогой @collapsar, вы правы. Я забыл добавить отображение.Все карты находятся в одной таблице, потому что в реальном случае все имеют один и тот же тип. – Danielo515