Как я могу внутренне соединить две таблицы? - PullRequest
0 голосов
/ 30 января 2020

enter image description here enter image description here

Привет! Кто-нибудь может сказать мне, что случилось с моим присоединением? Большое спасибо!

SELECT 
country_code,
country_name,
year,
crude_birth_rate,
crude_death_rate

FROM `bigquery-public-data.census_bureau_international.country_names_area`as Country_name_area
INNER JOIN `bigquery-public-data.census_bureau_international.birth_death_growth_rates` as birth_death_growth_rates

ON birth_death_growth_rates.country_code = Country_name_area.country_code;

Ответы [ 3 ]

1 голос
/ 30 января 2020

См. Столбцы с псевдонимом таблиц:

SELECT 
Country_name_area.country_code,
Country_name_area.country_name,
birth_death_growth_rates.year,
birth_death_growth_rates.crude_birth_rate,
birth_death_growth_rates.crude_death_rate

FROM `bigquery-public-data.census_bureau_international.country_names_area`as Country_name_area
INNER JOIN `bigquery-public-data.census_bureau_international.birth_death_growth_rates` as birth_death_growth_rates

ON birth_death_growth_rates.country_code = Country_name_area.country_code;
0 голосов
/ 30 января 2020

Когда вы запускаете запрос, сообщение об ошибке довольно ясно:

Ошибка: имя столбца country_code неоднозначно в [2: 1]

Вы должны узнать читать сообщения об ошибках; BQ довольно хорошо объясняет проблемы в запросах.

Столбец country_code находится в обеих таблицах. Как упоминалось в других ответах, вы хотите квалифицировать все ссылки на столбцы. Я хочу отметить, что более простые псевдонимы таблиц облегчают написание и чтение запроса.

Вы также можете использовать USING, поскольку ключи JOIN имеют одинаковые имена:

SELECT country_code, cna.country_name, bdgr.year,
       bdgr.crude_birth_rate, bdgr.crude_death_rate
FROM `bigquery-public-data.census_bureau_international.country_names_area` cna JOIN
     `bigquery-public-data.census_bureau_international.birth_death_growth_rates` bdgr
     USING (country_code);
0 голосов
/ 30 января 2020

Попробуйте это:

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