BigQuery Повторяющиеся имена столбцов - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть запрос:

WITH DAY_WIDGET_STAT AS (
SELECT hits.eventInfo.eventCategory, hits.eventInfo.eventAction, hits.eventInfo.eventLabel, hits.page.pagePath  
FROM `api-open-broker.108613784.ga_sessions_20181125`, UNNEST(hits) as hits
WHERE hits.type='EVENT' and hits.eventInfo.eventCategory LIKE "%Widget%"
),
DAY_PAGEVIEWS_STAT AS (
SELECT hits.page.pagePath, COUNT(*) AS pageviews
FROM `api-open-broker.108613784.ga_sessions_20181125`,UNNEST(hits) AS hits
WHERE hits.type = 'PAGE' GROUP BY hits.page.pagePath ORDER BY pageviews DESC)

SELECT * 
FROM DAY_WIDGET_STAT INNER JOIN DAY_PAGEVIEWS_STAT ON DAY_WIDGET_STAT.pagePath=DAY_PAGEVIEWS_STAT.pagePath
LIMIT 10

, который дает мне «Дублирующиеся имена столбцов в результате не поддерживаются. Найдено дубликатов: pagePath».Зачем?Таблица DAY_WIDGET_STAT: Просмотр DAY_PAGEVIEWS_STAT: Просмотр

1 Ответ

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

Дубликат pagePath;это в обоих CTE.В этом случае я, вероятно, рекомендую:

SELECT w.*,
       p.* EXCEPT (pagePath) 
FROM DAY_WIDGET_STAT w INNER JOIN
     DAY_PAGEVIEWS_STAT p
     ON w.pagePath = p.pagePath
LIMIT 10;

В качестве альтернативы USING также должен делать то, что вы хотите:

SELECT * 
FROM DAY_WIDGET_STAT w INNER JOIN
     DAY_PAGEVIEWS_STAT p
     USING (pagePath)
LIMIT 10;

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

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