0
WITH
ブロックを使用してクエリのロジックを分割すると便利です。 ARRAY
式内のネストされたフィールドでこれを行うことはできないと思うのですか?私はネストされたクエリに分けることができます - それは十分ですが理想的ではありません。例えばBigQueryのWITH&UNNEST
、これは動作します:
SELECT
repository.url,
ARRAY(
SELECT
action
FROM (
SELECT
action
FROM
UNNEST(payload.pages))) action
FROM
`bigquery-public-data.samples.github_nested`
を...しかし、これはそうではない:
SELECT
repository.url,
ARRAY(
WITH
p AS (
SELECT
action
FROM
UNNEST(payload.pages))
SELECT
action
FROM
p) action
FROM
`bigquery-public-data.samples.github_nested`
... Error: Unrecognized name: payload at [9:14]
。ブロックWITH
のテーブルがまだ定義されていない可能性がありますか?
これを行う別の方法はありますか?
EDITは:これは私たちが
お試しいただきありがとうございます。これは表示専用のおもちゃのクエリです。実際のクエリはより複雑です – Maximilian
私の答えのポイントは - あなたはARRAYまたは他の式の中でWITHを使うことはできません。そして、あなたの方向が少ししか強調されていないことに気づかなかった場合に備えて、私はあなたの方向性を示すようにしました。 –
私はあなたの努力に感謝します! – Maximilian