Я пытаюсь соединить следующие две таблицы T1 и T2 на T1.id = T2.id, T1.MonA = T2.MonB, так что
- Всякий раз, когда MonA = MonB (iow запись можно найти в обеих таблицах), выполнить обычное соединение. Это относится к установке для идентификатора A, MonA = MonB = 3
- Если запись MonB находится в таблице T2, но в таблице T1 нет одинаковой записи MonA, соединение должно взять из таблицы T1 строку где MonA является максимальным. В примерах таблиц это относится к обоим последним строкам.
- MonA от T1, которые не находятся в T2, должны игнорироваться
Условие T1.id = T2.id равно необходимое предварительное условие, поэтому это всегда должно быть правдой!
Table T1
ID MonA Data
A 2 BBB
A 3 CCC
B 4 DDD
B 5 EEE
B 11 EEE
Table T2
ID MonB Organ
A 3 Liver
B 5 Heart
B 7 Kidney
Вот как должен выглядеть результат
ID MonA MonB Data Organ
A 3 3 CCC Liver
B 5 5 EEE Heart
B 11 7 EEE Kidney
Мне нужно, чтобы это было выполнено в Teradata SQL и, честно говоря, в настоящее время понятия не имею, как решить проблему. Спасибо за помощь!
РЕДАКТИРОВАТЬ: Может быть несколько записей с одинаковым идентификатором, MonA = MonB, но разные столбцы данных / орган, и я хочу, чтобы все они были в результирующей таблице.