Так и есть - сначала базовая фильтрация - по разным полям для каждой таблицы. Потом - объединение таблиц, чтобы получить
request_id
.
Потом выборка всех значений из соответствующей таблицы параметра, по
request_id
.
Почему именно так - потому что необходимо выбирать все параметры запроса, подходящего под условие.
Например, запрос содержал список параметров для
pm_from -[ [1,1], [2,2] ]
В influx будет создано 2 записи
table
request_id payment_system_id currency_id
a 1 1
a 2 2
А в фильтре выборки пользователь может указать только
pm_from=[1,1]
Что при выборке значений только через join даст нам результат
table
request_id payment_system_id currency_id
a 1 1