набор данных bigquery не найден только в устаревшем SQL - PullRequest
0 голосов
/ 24 августа 2018

следующий запрос не работает (с использованием устаревшего SQL)

SELECT
      *
    FROM (
      SELECT
        ClientID,
        hitnumber,
        (
        SELECT
          cd.value
        FROM
          h.customDimensions AS cd
        WHERE
          cd.index=1 ) AS user
      FROM
        [xxxx:yyyy.ga_sessions_20180823] AS t,
        t.hits AS h
      LIMIT
        1000 )
    WHERE
      user IS NOT NULL

, но это работает (стандартный SQL)

select *
From(SELECT
  ClientID,
  hitnumber,
  (SELECT cd.value
   FROM h.customDimensions AS cd
   WHERE cd.index=1 ) AS user
FROM
  `yyyy.ga_sessions_20180823` AS t, t.hits as h 
)
where user is not null 

я бы понял, если бы ошибка произошла из-засинтаксис, но отображается ошибка

Ошибка: не найдено: Набор данных xxxx: гггг

1 Ответ

0 голосов
/ 24 августа 2018

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

SELECT
    ClientID,
    hitnumber,
    -- this part
    (
    SELECT
      cd.value
    FROM
      h.customDimensions AS cd
    WHERE
      cd.index=1 ) AS user
  FROM
    [xxxx:yyyy.ga_sessions_20180823] AS t,
    t.hits AS h
  LIMIT
    1000

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

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