Подозреваемая проблема с псевдонимом в bigquery join - PullRequest
0 голосов
/ 19 декабря 2018

Я относительно новичок в bigquery и думаю, что у меня есть проблема с алиасами, но я не могу понять, что это такое.По сути, у меня есть две таблицы, и хотя в первой таблице содержится большинство необходимой информации, во второй таблице указана дата рождения, к которой мне нужно присоединиться.Я написал приведенный ниже запрос, и два начальных оператора SELECT работают изолированно и, похоже, возвращают ожидаемые значения.Однако при попытке объединить две таблицы я получаю сообщение об ошибке:

Нераспознанное имя: t1_teams at [10:60]

WITH table_1 AS (SELECT competition_name, stat_season_name, 
matchdata_Date, t1_teams.name, t1_players.Position, CAST(REGEXP_REPLACE(t1_players.uID, r'[a-zA-Z]', '') AS NUMERIC) AS Player_ID1, t1_players.First, t1_players.Last

FROM `prod.feed1`, 
UNNEST(teams) AS t1_teams, UNNEST(t1_teams.Players) as t1_players),

table_2 AS (SELECT t2_players.uID AS Player_ID2, t2_players.stat_birth_date
FROM `prod.feed2`,
UNNEST(players) AS t2_players)

SELECT competition_name, stat_season_name, matchdata_Date, t1_teams.name, t1_players.Position, t1_players.uID, t1_players.First, t1_players.Last, t2_players.stat_birth_date

FROM table_1
LEFT JOIN table_2
ON Player_ID1 = Player_ID2
WHERE competition_name  = "EPL"
AND stat_season_name = "Season 2018/2019"

Любая помощь в управленииЯ был бы очень признателен в правильном направлении, поскольку мое чтение документации BigQuery и другие поиски вычеркнули пробел.

1 Ответ

0 голосов
/ 19 декабря 2018

Проблема здесь:

WITH table_1 AS (
  SELECT
    competition_name,
    stat_season_name, 
    matchdata_Date,
    -- this line
    t1_teams.name,
    ...

Вы выбираете t1_teams.name, поэтому в итоге вы получаете только name выходной столбец из списка выбора.Если вы хотите обратиться к t1_teams позже, выберите вместо этого:

WITH table_1 AS (
  SELECT
    competition_name,
    stat_season_name, 
    matchdata_Date,
    -- this line
    t1_teams,
    ...
...