BigQuery | TABLE_DATE_RANGE テーブルに対して JOIN 出来ない

  • 0
    いいね
  • 0
    コメント
    この記事は最終更新日から1年以上が経過しています。

    問題

    TABLE_DATE_RANGE はそのままじゃ JOIN できないっぽい。

    SELECT
      *
    FROM
      TABLE_DATE_RANGE(single.woman, TIMESTAMP('2016-12-24'), TIMESTAMP('2016-12-25') ) AS woman
    LEFT JOIN
      [single.man] AS man
    ON
      woman.left_hand = man.right_hand
    

    Error: Field 'woman.left_hand' not found.

    解決

    サブクエリの内側に TABLE_DATE_RANGE を置く。

    SELECT
      *
    FROM (
      SELECT
        *
      FROM
        TABLE_DATE_RANGE(single.woman, TIMESTAMP('2016-12-24'), TIMESTAMP('2016-12-25') ) AS woman
    LEFT JOIN
      [single.man] AS man
    ON
      woman.left_hand = man.right_hand