Идентификатор имени в предложении GROUP BY неоднозначен; он может ссылаться на несколько столбцов в списке SELECT в [28: 146] - PullRequest
0 голосов
/ 03 августа 2020

В этом запросе (кстати, я только изучаю BigQuery и SQL)

SELECT * 
FROM ( 
  SELECT
    status_2 as id, utm_source, utm_medium, utm_campaign, 
    utm_term, ga_client_id as client_id
  FROM `my file` 
  WHERE length(status_2) > 5
), (
  SELECT id, utm_source, utm_medium, utm_campaign, utm_term, client_id 
  FROM `another file` 
  WHERE id is not null
) 
GROUP BY id, utm_source, utm_medium, utm_campaign, utm_term, client_id

Я получаю эту ошибку (для каждого):

Имя id в предложении GROUP BY неоднозначно; он может относиться к нескольким столбцам в списке SELECT в [28: 146]

Как мне это исправить?

Ответы [ 3 ]

0 голосов
/ 03 августа 2020

Для неоднозначной ошибки это просто означает, что вы запрашиваете более чем из одной таблицы с полем с именем id. Вам необходимо указать, какой идентификатор вы имеете в виду.

Как уже упоминали другие, было бы хорошо знать, что вы пытаетесь выполнить sh. Вы хотите ОБЪЕДИНЕНИЕ двух таблиц в один выбор или СОЕДИНЕНИЕ двух таблиц?

0 голосов
/ 03 августа 2020

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

Вы можете использовать псевдоним, чтобы избежать этого неоднозначного идентификатора.

SELECT * 
FROM ( 
  SELECT
    status_2 as mf.id, mf.utm_source, mf.utm_medium, mf.utm_campaign, 
    mf.utm_term, mf.ga_client_id as mf.client_id
  FROM `my file` mf
  WHERE length(status_2) > 5
), (
  SELECT af.id, af.utm_source, af.utm_medium, af.utm_campaign, af.utm_term, af.client_id 
  FROM `another file` af
  WHERE id is not null
) 
GROUP BY mf.id, af.utm_source, af.utm_medium, af.utm_campaign, af.utm_term, mf.client_id
0 голосов
/ 03 августа 2020

Вы можете использовать объединение вместо группы по.

SELECT
    a.status_2 as id, a.utm_source, a.utm_medium, a.utm_campaign, 
    a.utm_term, a.ga_client_id as client_id
  FROM `my file` a
  WHERE length(a.status_2) > 5
UNION
SELECT b.id, b.utm_source, b.utm_medium, b.utm_campaign, b.utm_term, b.client_id 
  FROM `another file` b
  WHERE b.id is not null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...