@uroot

Как объеденить данные с двух запросов между собой, если их ничего не объеденяет?

У меня есть два отдельных запроса в разные БД. Это две отдельные БД на разных серверах. Последовательность действий следующая:
  1. Делаю запрос в первую базу с функции getOrders()
  2. Выбираю телефоны с результата первого запроса (телефоны не уникальные)
  3. Делаю запрос в другую базу используя телефоны с п.2 (второй запрос ниже)


Второй запрос (используется Knex.JS, но смысл запроса, я думаю, понятен):
const calls = await db
    .select(
      'id as cdr_id',
      'dst as phone',
      db.raw("concat(?, recordingfile) as path", [url]),
      db.raw(`
        json_object(
          'calldate', calldate
        ) as context
      `)
    )
    .from('cdr as c')
    .whereIn('dst', phones)
    .where('billsec', '>=', 120)

Проблема в том, что я не могу перебрать данные из какого-то запроса и перемаппить результат, потому что между ними нет ничего общего и уникального для обеих (телефоны не уникальные). В первом запросе есть уникальный order_id, во втором transit_id. Как можно выйти из этой ситуации? Использовать порядковый номер записей не хотелось.
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы