Как объединить три таблицы в BigQuery по общему имени столбца - PullRequest
0 голосов
/ 20 марта 2020

У меня есть три таблицы со следующим отношением.

t1 имеет идентификатор_программы

t2 имеет идентификатор_программы и имя_продукта

t3 имеет имя_продукта и цену

t1

order_id|product_id|   program_id
  1     |        AA|          100
  2     |        BB|          110
  3     |        CC|          500
  4     |        DD|          550

t2

name    |program_id|    name
 mike   |       100|    1bx
 john   |       110|    2bx
 bob    |       500|    3bx
 clara  |       550|    3bx
 jane   |       112|    55x


t3

admin_id|product_name|revenue
  z1    |         1bx|    100
  z2    |         2bx|    110
  z3    |         3bx|    500
  z4    |         4bx|    550

Моя цель здесь - СОЕДИНИТЬ первые две таблицы и после этого СОЕДИНИТЬ результат первого СОЕДИНЕНИЯ с третий стол. В конце это должно выглядеть примерно так:

t4

program_id|product_name|revenue
  z1      |         1bx|    100
  z2      |         2bx|    110
  z3      |         3bx|    500
  z4      |         4bx|    550

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

1 Ответ

1 голос
/ 20 марта 2020

Для меня это звучит как две JOIN с:

select program_id, product_name, revenue as price
from table1 t1 join
     table2 t2
     using (program_id) join
     table3 t3
     using (product_name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...