BigQuery Две таблицы (присоединиться?) Поиск имени - PullRequest
0 голосов
/ 12 февраля 2019

В настоящее время у меня есть две таблицы на Bigquery, где я пытаюсь найти «английское имя» определенного адреса.Примеры таблиц ниже.

Table1

Address|Value
------------------
1111,55
2222,99
8888|33

Table2

Address|Name
------------------
1111|Bob
2222|Jill
8888|Steven

Желаемый результат после запроса

Address|Name|Value
------------------
1111|Bob|55
2222|Jill|99
8888|Steven|33

Буду признателен за любую помощь в этом в BigQuery.

Real Query

SELECT CASE WHEN tablename.from_number = '1231231234' THEN tablename.to_number ELSE tablename.from_number END AS party,
       COUNT(*) AS call_count,
       tablename.caller_address AS caller_address
FROM `bigquery-database` tablename
WHERE '1231231234' in (tablename.from_number, tablename.to_number)
GROUP BY party, caller_address
ORDER by call_count DESC

В общем, я пытаюсь найти caller_address'first name, которое находится в другой таблице под tablename2.firstname и отображает его в выводе запроса.Я не могу понять, как использовать (присоединиться?).

Псевдокод

SELECT CASE WHEN tablename.from_number = '1231231234' THEN tablename.to_number ELSE tablename.from_number END AS party,
       COUNT(*) AS call_count,
       tablename.caller_address AS caller_address,

       Find where tablename.caller_address equals db.tablename2.caller_address and display first name from db.tablename2.name

FROM `bigquery-database` tablename
WHERE '1231231234' in (tablename.from_number, tablename.to_number)
GROUP BY party, caller_address
ORDER by call_count DESC

1 Ответ

0 голосов
/ 12 февраля 2019

Я думаю, что вам нужно простое внутреннее соединение.

select t1.address, t2.name, t1.value
from table1 as t1
inner join table2 as t2 on t1.address=t2.address

Документация BigQuery

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...