Преобразование для выбора datatable на основе значения в отдельной таблице

У меня есть три таблицы (источник Oracle), позволяет называть их таблицами 1, 2 и 3.

Я хотел бы проверить логическое поле в таблице 1, и если это T, я хочу только данные из таблицы 2, а если это F, я хочу только таблицу 3.

Какая трансформация была бы наиболее эффективной для этого, и как я могу ее реализовать?

Я экспериментирую с преобразованиями Filter, Java и Expression, но если выражения проверяются по очереди за строкой, то кажется, что избыточное выражение для выражения должно выполняться на каждой строке, а не просто проверять один раз и использовать соответствующую таблицу.

Обе таблицы 2 и 3 имеют поле с тем же именем, и я хочу это поле только для одной из таблиц, основываясь на условии.

Создайте сопоставление, похожее на следующую диаграмму:

```
src_TABLE2 --> sq_TABLE2 --|
                           |--> union --> (further processing)
src_TABLE3 --> sq_TABLE3 --|

```

и используйте следующие условия  `Source Filter`   *  в исходных классификаторах:

```
-- for sq_TABLE2
'T' = ( SELECT FLAG FROM TABLE1 )

-- for sq_TABLE3
'F' = ( SELECT FLAG FROM TABLE1 )

```

В сопоставлении есть две исходные таблицы, и объединенное преобразование объединяет данные из этих двух конвейеров. Однако из-за условий фильтрации в любой момент времени данные будут извлекаться только из одной из исходных таблиц.

 *  `Исходный фильтр`  - это атрибут на вкладке  *Свойства*  исходного классификатора. Условие, указанное здесь, добавляется к предложению  `WHERE`  оператора  `SELECT` , который отправляется в базу данных.