11

ネストされていない複数の繰り返しフィールドを含むスキーマがあります。

外積を照会しようとしていますが、「繰り返しフィールドの外積を照会できません...」というエラーが表示されます。

繰り返しフィールドを 2 つだけクエリすると、そのうちの 1 つを平坦化できます。それでも、2 つ以上の繰り返しフィールドのクエリに興味がありますが、FLATTEN 構文がこれをどのようにサポートしているか理解できません。

たとえば、テーブル構造が a1、レコード (繰り返し): a1.b1、整数 a2、レコード (繰り返し): a2.b1、整数 a3、レコード (繰り返し): a3.b1、整数であるとします。

照会したい: タブから (*) を選択

4

3 に答える 3

14

内でネストされた副選択を使用できますFLATTEN。select ステートメントを囲む余分な括弧が必要です。(残念ながら、構文はちょっと醜いです)。例えば

SELECT
  ...
FROM (
    FLATTEN((
      SELECT
        ...
      FROM (
          FLATTEN((
            SELECT
              ...
            FROM
              table),
            f1)
          )
        ),
      f2)
    )
  )
于 2013-07-11T18:29:06.547 に答える